2013-04-04 5 views
5

私はClojureのに新たなんです。 keysの行動が矛盾として私を打つ:なぜん(キー「」)のClojureでの戻りはnil、(キーのに対し、「ABC」)はエラーになりますか?

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

空のコレクションを特別扱いしているように見える、とtest casesが、これは意図的であることを示しています。この行動の背後にある考え方は何ですか?

答えて

2

seq関数を使用してコレクションをシーケンスに変換すると、コレクションが空の場合、seqは空のシーケンスではなくnilを返します。その理由を議論する別のthreadがあります。

関連する問題