Почему (= (vector nil) (vec nil)) возвращает false? - PullRequest
8 голосов
/ 14 февраля 2011

Это просто причуда, или есть какая-то фундаментальная концепция, которая подразумевает это?

Ответы [ 2 ]

21 голосов
/ 14 февраля 2011

vec преобразуется в вектор (nil становится пустым вектором), а вектор создает вектор с заданными элементами.

(vec nil) => []
(vector nil) => [nil]

вы могли бы ввести эти выражения в repl, чтобы увидеть ихрезультаты и почему они не равны.

6 голосов
/ 14 февраля 2011

user> (vec nil) ; => []

user> (vector nil) ; => [nil]

user> (= *1 *2) ; => false

Почему они должны быть равны?

...