5

我是 Clojure 的新手。的行为让我觉得不一致:

user=> (keys "")
nil
user=> (keys "abc")
ClassCastException

空集合似乎被特殊对待,测试用例表明这是故意的。这种行为背后的想法是什么?

4

1 回答 1

2

这样做的原因是,当使用seq函数将集合转换为序列时,如果集合为空,seq将返回 nil 而不是空序列。还有另一个线程讨论了其中的原因。

于 2013-04-04T05:20:03.523 回答