Я изучаю Clojure, и у меня есть сомнения:
Почему при вводе
(map vector '("1" "2" "3"))
Я получаю (["1"] ["2"] ["3"])
Это нормально, потому что vector
- это функция (или почти я думаю), и я могу сделать
(vector "3")
и получите ["3"]
.
Пока все хорошо, но когда я пытаюсь
(map Integer/parseInt '("1" "2" "3"))
Я получаю сообщение об ошибке. Не следует ли parseInt
вести себя как функция?
Затем мне нужно ввести
(map #(Integer/parseInt %) '(......
Почему я не могу использовать parseInt
как функцию? Для меня это функция, и я могу использовать ее как
(Integer/parseInt "3")
Я чувствую, что это немного некогерентно, но я уверен, что ошибаюсь, и для этого я прошу...