need и +Need
Кстати, в связи с предыдущим постом - английское “need“ можно перевести как немецкое “not”, но это так, к слову. А, вообще, в данном случае, лексемы в заголоке поста к друг другу никакого отношения не имеют, кроме как в “натуральном языке“. Во-первых, как известно, префикс “плюс“ и использование заглавной буквы означает класс, то есть как минимум группу методов (функций?), если не объект (и чем функция не объект?), но в любом случае и то, и то - символ, со всем вытекающими отсюда последствиями для восприятия при чтении кода, да и при кодировании, пожалуй, тоже. Дополнительная нагрузка на менталитет, то есть требуется удержание отвлекающих контекстов. Можно возразить и, как принято в таких случаях, сослаться на привычку, но стоит заметить, что для подобного кода привычка работает только когда постоянно пялишься и моделируешь в этой системе, но как только отвлекаешься на что-то другое, так сразу надо начинать все сначала “с белого листа“ … это как у спортсмена “потеря формы” … то же самое у любых профессионалов, если выпасть из практики. Но ближе к делу.
+Need - префиксный класс для обязательных +relation
. Не налагает никаких требований, а возвращает сообщение об ошибке только в случае явного вызова сообщения mis>
, например, функциями GUI
.
need - продуцирует список из как минимум cnt
элементов. При вызове без необязательных аргументов возвращается список cnt
NIL
. Когда задан lst
, он расширяется влево (если cnt
положительно) или (деструктивно) вправо (если cnt отрицательно) любыми элементами. Во второй форме возвращается список атомарных значений cnt
.