Округление до ближайшей цифры в списке в Clojure - PullRequest
0 голосов
/ 24 сентября 2018

Я пытаюсь получить округленную версию списка чисел в Clojure.

Например, (Math/round 10.5) дает мне 11 в качестве ответа, что хорошо.Тем не менее, я пытаюсь подобный подход, используя «apply» - (apply Math/round (list 1.2 2.1 3.4)), что дает мне ошибку.Я ожидал (1 2 3) в качестве выхода.

Как получить округленный вывод из списка чисел?

1 Ответ

0 голосов
/ 24 сентября 2018

Используйте map.Обратите внимание, что вам придется заключить вызов в Math/round в анонимную функцию: см. этот вопрос по причине.

(map #(Math/round %) (list 1.1 2.2 3.9)) ; '(1 2 4)

Проблема с вашим подходом (который былна самом деле неплохое предположение) то, что Java Math/round не является вариативным: он просто принимает один аргумент.Вызов apply таким образом - то же самое, что

(Math/round 1.2 2.1 3.4)

, который не скомпилируется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...