Я пишу функцию, которая принимает последовательность треугольников (которые на самом деле представлены как maps
).
Моя спецификация:
(s/fdef triangle-list-to-pattern
:args (s/cat :trs (s/* ::maths/Triangle))
)
И функция принимаетодин аргумент, trs, который представляет собой последовательность треугольников.
Однако, когда я использую эту функцию и вызываю ее, я получаю следующую ошибку:
fails spec: :patterning.maths/Triangle at: [:args :trs] predicate: map?
Если я явно проверю аргумент I,перехожу к функции со спец.Это на самом деле просто последовательность вещей, которые соответствуют критериям треугольника.
Функция, кажется, работает.Аргумент кажется правильным и проходит спецификацию при тестировании отдельно.Итак, я предполагаю, что я как-то ошибаюсь в fdef
.
В чем проблема?
Примечание, :: Треугольник определен:
(s/def ::Triangle (s/keys :req-un [::A ::B ::C ::a ::b ::c ::ax ::ay ::bx ::by ::cx ::cy]))