Форум программистов, компьютерный форум, киберфорум
Lisp
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755

Переменные

16.05.2020, 07:15. Показов 1063. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Что - то пошло не так (SBCL)?
Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 (setf x 10)
; in: SETF X
;     (SETF X 10)
; ==>
;   (SETQ X 10)
;
; caught WARNING:
;   undefined variable: X
;
; compilation unit finished
;   Undefined variable:
;     X
;   caught 1 WARNING condition
10
*
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.05.2020, 07:15
Ответы с готовыми решениями:

Переменные
(setq x y) *** - SETQ: variable Y has no value А почему в x нельзя засунуть y в GNU CLISP, запущенной через LispIDE?

Локальные переменные
Какие из указанных форм не «могут» самостоятельно создавать локальные переменные LET DO* PROG LOOP PROGN PROG1 DOTIMES

Как поменять местами переменные не используя третью?
Дано две целых переменные, допустим, x и y. Не вводя дополнительной переменной надо поменять местами значения x и y (новое значения x...

24
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38223 / 21155 / 4314
Регистрация: 12.02.2012
Сообщений: 34,769
Записей в блоге: 14
04.06.2020, 17:02
Студворк — интернет-сервис помощи студентам
Символ c пробегает строку s
1
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
04.06.2020, 17:27  [ТС]
А это специальное зарезервированное слово?
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38223 / 21155 / 4314
Регистрация: 12.02.2012
Сообщений: 34,769
Записей в блоге: 14
04.06.2020, 17:55
Цитата Сообщение от supmener Посмотреть сообщение
А это специальное зарезервированное слово?
- нет это часть макро loop. Слово across можно использовать как символ, имя переменной и т.п.
0
 Аватар для supmener
87 / 95 / 15
Регистрация: 26.06.2013
Сообщений: 4,755
07.06.2020, 20:18  [ТС]
Вот сведения из видео с Ютуба "Iisp - Лекция 7.3 - Макрос LOOP" курса
"Функциональное программирование - Lisp (канал ForMemory)".
Для поэлементной обработки массивов и строк, которые тоже являются массивами, вместо предложения in нужно использовать предложение across.
Lisp
1
2
3
4
5
6
7
(loop for ch across "test" do (print ch))
#\t
#\e
#\s
#\t
NIL
*
Возникает вопрос, почему нужно использовать разные ключевые слова для списков и массивов. Дело в том, что на этапе компеляции loop не может определить, с каким типом последовательности он имеет дело. А добавлять лишние проверки разработчики loop не стали из соображений эффективности.
0
 Аватар для nullxdth
2305 / 1064 / 77
Регистрация: 12.03.2013
Сообщений: 4,987
07.06.2020, 20:38
Цитата Сообщение от supmener Посмотреть сообщение
Возникает вопрос, почему нужно использовать разные ключевые слова для списков и массивов. Дело в том, что на этапе компеляции loop не может определить, с каким типом последовательности он имеет дело.
Дело не в loop. Дело в том, что далеко не всегда можно определить тип на этапе компиляции в принципе. В CL преобладает динамическая типизация.
Цитата Сообщение от supmener Посмотреть сообщение
А добавлять лишние проверки разработчики loop не стали из соображений эффективности.
Верно. Причём проверки в runtime, каждый раз, когда мы хотим обратиться к элементу последовательности.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.06.2020, 20:38

Как правильно объявлять и использовать локальные переменные в лиспе
Добрый день, пожалуйста объясните как правильно объявлять и использовать локальные переменные в лиспе. Сначала попробовала самый...

Пропадают локальные переменные функции после первого запуска функции
Я написал код для расчёта электрического кольца. Я постепенно упрощаю схему параллельными и последовательными операциями. Вот мой код: (...

Локальные переменные
def tozero a=gets.to_i if a>0 a=a-1 p a tozero end end tozero

Анонимные переменные
Вопрос состоит в том как не выводить переменную если она равна анонимной переменной(X=_). Пример: PREDICATES route(symbol, string,...

not() и свободные переменные
Есть предикат br_sist(родственник1, родственник2), который отвечает за связь - являются ли два человека братом или сестрой. Необходимо в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
25
Ответ Создать тему
Новые блоги и статьи
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru