Clojure: Префиксная нотация
В популярных языках программирования, вызов функции выглядит так f(arg1, arg2, arg3), однако в Clojure, как и в других лиспо-подобных языках, используется префиксная нотация. С непривычки, такой способ записи кажется неуклюжим, однако при вложенном вызове становится очевидным удобство такого подхода. Вложенный вызов нескольких функций выглядит следующим образом:
(+
1
(- 2 3)
(* 4 5 6)
(+ 7 8 9 10 11 12))Если аккуратно форматировать Clojure код, то никаких проблем с чтением этого кода не будет. Еще стоит заметить, что перечисление элементов не требует запятых, однако их можно писать, Clojure принимает оба варианта.
(+ 1 2 3) ; => 6
(+ 1, 2, 3) ; => 6
(+ (+ 1, 2), (+ 1, 2)) ; => 6Задание
Выведите в стандартный поток вывода (с помощью функции println) следующее выражение: 1 + 10 - 2 * 7
Полезное
Ваше упражнение проверяется по этим тестам
(ns prefix-notation-test
(:require [test-helper :refer [assert-output]]))
(assert-output "-3")Решение учителя откроется через:
20:00
