|
2 / 2 / 0
Регистрация: 14.02.2021
Сообщений: 27
|
|
Является ли "+" - функцией?24.12.2022, 23:21. Показов 72836. Ответов 32
Здравствуйте! Вопрос, возможно, глупый. Хотелось бы уточнить - "+" (равно как и "-") - это функция или оператор? И есть ли разница между оператором и функцией?
Таким образом, (+ 5 3) - вызов функции? Заранее спасибо!
0
|
|
| 24.12.2022, 23:21 | |
|
Ответы с готовыми решениями:
32
starDrag не является функцией Кнопка не является функцией Проверить, является ли отношение R функцией? |
|
4528 / 3522 / 358
Регистрация: 12.03.2013
Сообщений: 6,038
|
||||||||||||||||
| 05.01.2023, 14:45 | ||||||||||||||||
|
А что делает defvar? Наверно, заносит символ в какой-то перечень глобальных переменных. А может, записывает где-то в самом символе, что он может использоваться в качестве глобальной переменной. Зависит от реализации.
Кстати, по поводу вашего изначального утверждения Добавлено через 22 минуты
0
|
||||||||||||||||
|
Заблокирован
|
||||||||||||||||
| 05.01.2023, 15:34 | ||||||||||||||||
|
Символ это designator. A designator is an object that denotes another object.
Добавлено через 22 минуты https://stackoverflow.com/ques... in-clojure
0
|
||||||||||||||||
|
4528 / 3522 / 358
Регистрация: 12.03.2013
Сообщений: 6,038
|
||||||
| 05.01.2023, 15:37 | ||||||
Ладно, я вижу, это сложновато. Думаю, понятнее объяснить я уже не смогу, так что подробности - в CLHS. Собственно, я и не собирался вам ничего растолковывать - просто не хотел, чтобы случайный читатель принял на веру, что "на первом месте выражения может стоять только функция".
0
|
||||||
|
Заблокирован
|
|||||||
| 05.01.2023, 15:44 | |||||||
|
Глобальный вывод
+ - это символ, который связан с переменной с таким именем, которая, в конечном итоге, разрешается в функцию. простой пример
0
|
|||||||
|
4528 / 3522 / 358
Регистрация: 12.03.2013
Сообщений: 6,038
|
||
| 05.01.2023, 15:52 | ||
|
0
|
||
|
Заблокирован
|
|||||||
| 05.01.2023, 15:59 | |||||||
0
|
|||||||
|
4528 / 3522 / 358
Регистрация: 12.03.2013
Сообщений: 6,038
|
|
| 05.01.2023, 16:08 | |
|
Да, всё так. Вот это "function named" означает существование ассоциации в функциональном пространстве имён. С символом может быть ассоциирована функция в функциональном пространстве, и её можно "вытаскивать" для разных целей - не только чтобы вызвать funcall-ом, но и, например, чтобы передать в mapcar или sort. А если символ стоит на первом месте списка, лисп вытаскивает ассоциированную функцию самостоятельно. На первых порах насчёт
(funcall 'foo 1 2 3) можно особенно не париться, это дополнительное удобство funcall-а и некоторых других функций; но действительно удобно (например, если использовать что-нибудь хукоподобное: с символами удобнее, чем с функциями).
0
|
|
|
Заблокирован
|
|
| 05.01.2023, 16:15 | |
|
helter, как я понял #' - это переменная, как и в Кложе. А 'x - мы тут экранируем х и превращаем его в символ, чтобы уче через символ добраться до значения.
0
|
|
|
4528 / 3522 / 358
Регистрация: 12.03.2013
Сообщений: 6,038
|
|
| 05.01.2023, 16:57 | |
|
#' - это доступ к значению в функциональном пространстве имён. Ну то есть да, как переменная, только в другом пространстве. То есть когда мы пишем (funcall #'foo 1 2 3), funcall получает уже саму функцию, символа foo он не видит. (По идее, надо сказать не "funcall получает", а "функция, ассоциированная с символом funcall в функциональном пространстве имён получает...", но я сдаюсь, ваша правда, так разговаривать невозможно.) А когда мы пишем (funcall 'foo 1 2 3), funcall получает символ, который он должен применить как функцию. Но у него хватает соображения найти функцию с этим именем и применить её.
0
|
|
|
Заблокирован
|
|
| 05.01.2023, 17:15 | |
|
helter, ну вот и разобрались во всём)
0
|
|
|
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,781
|
||
| 07.01.2023, 08:48 | ||
|
Добавлено через 1 минуту #' — это синтаксический сахар для (function ...)
1
|
||
|
Заблокирован
|
|
| 10.01.2023, 09:40 | |
|
0
|
|
|
Заблокирован
|
||
| 10.01.2023, 22:06 | ||
|
Электрическое рыле ничего не знает об электричестве. Космический корабль ничего не знает о космосе. Похоже я тут один в полной мере знаю Лисп - что ни скажу все за мной тут же повторяю. Да, кажется, мой авторитет очень велик.
0
|
||
| 10.01.2023, 22:06 | |
|
Ошибка: setProgress не является функцией
Является ли функция безопасной псевдослучайной функцией Является ли функция от x,y,z рациональной ф-цией от y ,от z ; целой функцией от x Функцией чего является теплоёмкость термодинамической системы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Программа для com-порта
Uhbif79 05.06.2026
Всем привет, давно хотел изучить Qt, начинал, бросал, потом снова начинал. И сейчас вот смог написать свою первую программу.
До этого имел опыт программирования микроконтроллеров, писал прошивки на. . .
|
Транскрипция 55-минутного видео через Whisper: WhisperDesktop облажался, спас Google Colab[
anaschu 01.06.2026
Понадобилось получить текст из свежезагруженного видео на YouTube. Казалось бы, задача на пять минут. Заняла полтора часа. Делюсь опытом — может кому пригодится последовательность решений.
. . .
|
21 мат мед. Планы на развитие модели здравоСохранения
anaschu 01.06.2026
AnyLogic: план развития симуляционной модели рабочего коллектива — динамический абсентеизм, реальные данные, три сценария сравнения
Продолжаю серию постов о дискретно-событийной модели рабочего. . .
|
20. Мат мед. Абсентеизм как отдельный тип простоя
anaschu 29.05.2026
Апдейт модели: исправленные баги, абсентеизм и новые механизмы
Продолжаю развивать ранее описанную модель рабочего коллектива на AnyLogic. За последние несколько дней был проведён серьёзный. . .
|
|
19. здоровье, усталость и психотип работника влияют на производительность предприятия, и наоборот, производительность на здоровье, усталось и психотип
anaschu 28.05.2026
Дискретно-событийная модель рабочего коллектива на AnyLogic: здоровье, выгорание, психотипы и микростимуляция
Привет, коллеги. Хочу поделиться итогами нескольких недель работы над симуляционной. . .
|
"Прокси" для последовательного порта
Eddy_Em 28.05.2026
Эту штуку написал я достаточно давно. Но сейчас вот понадобилось настроить датчик грозы, но при этом не отключать его от "метеодемона". Соответственно, надо запустить этот "прокси": метеодемон будет. . .
|
Рефакторинг программы уравнивания.
Massaraksh7 26.05.2026
Пример по предыдущей записи в блоге. Но, надо заметить, что, во-первых, там оптимизация не только математики, но и работы с базой данных, и с графами, а во-вторых, это ещё не всё.
|
Использование TThread в Lazarus для математических вычислений.
Massaraksh7 25.05.2026
Производя рефакторинг своих программ на предмет ускорения их работы, обратил внимание на такой аспект, как сокращение времени матвычислений. Дело в том, что приходится работать с большими матрицами. . .
|