如何使用垂直模式定义一个函数,该函数的参数可以是2个或更多不同类型?

时间:2019-05-31 02:47:31

标签: clojure plumatic-schema

我不知道如何将s /任一或s /条件用作输入列表的一部分。想做这样的事情:

id = true

1 个答案:

答案 0 :(得分:2)

(sc/defn parse-int :- sc/Str
    [input :- (sc/cond-pre sc/Int sc/Str)]
    (if (string? input) "a string" "not a string"))

(parse-int 34545) ; "not a string"
(parse-int "34545") ; "a string"

您也可以使用either,但已弃用。