Почему в clojure разделение строки из пустого файла возвращает 1 элемент?

Рассмотрим следующее:

=> (even? (count []))
true

пока все хорошо. Теперь рассмотрим (предположим, что мой файл пуст):

(odd? (count (str/split (slurp my-file) #"\|")))
true

эээ ... почему вектор, возвращаемый из пустого файла, не является четным (ноль)?

=>(str/split (slurp my-file) #"\|")
[""]

А, может кто-нибудь объяснить, почему в этом случае возвращается пустая строка ?

Я пытаюсь определить, есть ли в файле нечетное количество записей.

5
задан SMTF 21 June 2011 в 21:29
поделиться