为什么(键“”)在Clojure中返回nil,而(键“abc”)是错误?

时间:2013-04-04 04:31:27

标签: collections clojure

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

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

空集合似乎是专门处理的,test cases表示这是故意的。这种行为背后的想法是什么?

1 个答案:

答案 0 :(得分:2)

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