Одним из способов думать о последовательностях является то, что они читаются слева,
и кормят справа:
<- [1 2 3 4] </p>
Большинство функций последовательности используют и создают последовательности. Так что
способ визуализации в виде цепочки:
карта <- фильтр <- [1 2 3 4] </p>
и один из способов думать о многих функциях seq состоит в том, что они
параметризованный некоторым образом:
(карта f) <- (пред. Фильтра) <- [1 2 3 4] </p>
Итак, функции последовательности берут свои источники в последнюю очередь, а любые другие
параметры перед ними, а частично позволяет прямую параметризацию
как указано выше. Существует традиция этого в функциональных языках и
Лепечет.
Обратите внимание, что это не то же самое, что последний первичный операнд.
Некоторые функции последовательности имеют более одного источника (concat,
чередовать). Когда функции последовательности являются переменными, это обычно в
их источники.
Я не думаю, что списки переменных arg должны быть критерием для
основной операнд идет. Да, они должны прийти последними, но по мере эволюции
из ассоциативных / диссоциальных шоу, иногда переменные аргументы добавляются позже.
То же самое частичное. Каждая библиотека в конечном итоге заканчивается
метод независимого частичного связывания. Для Clojure это # ().
Что тогда является общим правилом?
Первичные операнды коллекции идут первыми. Так можно написать -> и
его род, и их положение не зависит от того, имеют ли они
переменные параметры арности. В ОО есть такая традиция
языки и CL (значение слота CL, aref, elt - фактически тот, который
спотыкает меня чаще всего в CL это gethash, который не согласуется с
те).
Итак, в конце концов, есть 2 правила, но это не все.
Функции последовательности берут свои истоки и функции сбора
сначала возьмите их основной операнд (коллекцию). Не то, что нет
тут и там есть несколько перегибов, которые мне нужно сгладить (например, set /
Выбрать).
Надеюсь, это поможет сделать его менее поддельным,
Rich
Теперь, как я различаю «функцию последовательности» и «функцию сбора», мне не очевидно. Возможно, другие могут объяснить это.