Регистрация: 23.10.2013
Сообщений: 5,076
Записей в блоге: 8
1

Как создать константу?

07.08.2016, 09:07. Показов 1301. Ответов 8
Метки нет (Все метки)

Я обратил внимание на один файл lib-e.lsp. Там собраны как
функции, так и константы. Например _pi = 3.141592....
Если все так просто, то можно ли создавать свои константы и
ввести в файл lib-e.lsp? И будут ли это реальные константы?
Не изменятся ли они (не могут ли они быть изменены) в
программе? Как вообще можно создать константу? Переменную
_pi я бы создал. (setq _pi 3.1415926535897932). А какая функция
превращает ее в константу? И возможно ли обратное преобразование?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.08.2016, 09:07
Ответы с готовыми решениями:

как создать константу размером 4 килобайта?
Решил попробовать из своей платки stm32f3discovery+ w5100 sheld создать http-сервер. Вначале...

Как в классе создать строковую константу?
Как в классе создать строковую константу? Конструкция типа static const char __tmp_obj1 = "abc";...

Как создать глобальную константу для объекта
Может я просто терминологию где-то неверно использую - заранее не кидайтесь пустыми бутылками)))...

Как создать константу со значением String$(8,255)?
Как создать константу со значением String$(8,255) (вместо 255 может быть любое число)?

8
605 / 838 / 142
Регистрация: 10.08.2015
Сообщений: 4,224
07.08.2016, 11:03 2
geh, не мучай людей примитивными вопросами!!! Найди литературу по лиспу и начни читать ее... когда прочитаешь всю, спрашивай... Тебе qbasic не хватает? Будешь заполонять собой и эту ветку?
0
4662 / 4358 / 376
Регистрация: 12.05.2012
Сообщений: 3,075
07.08.2016, 11:25 3
Лучший ответ Сообщение было отмечено echs как решение

Решение

geh, defconstant
https://www.google.com/?gws_rd... stant+lisp
0
Регистрация: 23.10.2013
Сообщений: 5,076
Записей в блоге: 8
07.08.2016, 11:27  [ТС] 4
vlisp
Я удивлен Вашим ответом. Но будем его считать
Самым лучшим. И пусть будет так, как Вы хотите...
0
187 / 154 / 17
Регистрация: 18.12.2015
Сообщений: 179
07.08.2016, 12:00 5
geh,

Файл "lib-e.lsp" не является какой-то магией, это обычный лисповский код. Там что написано?

Lisp
1
(CSETQ _Pi 3.14159265358979323846)
Запускаешь Homelisp, нажимаешь кнопку "Помощь" - открывается файл справки. Там выбираешь "Алфавитный указатель функций HomeLisp" / "С" / "CSETQ", читаешь описание. В Homelisp функция "csetq" создаёт константы. Функция "setq" не подходит т.к. она создаёт переменные.

Главное преимущество Homelisp - наличие встроенной справки на русском языке. По ней и изучай возможности языка, на первое время этого достаточно.

В Common Lisp для создания констант используется "defconstant", а справочную информацию искать на вышеупомянутом сайте LispWork. Единственный недостаток сайта - он англоязычный.
2
helter
07.08.2016, 14:27
  #6

Не по теме:

Цитата Сообщение от rdt Посмотреть сообщение
Единственный недостаток сайта - он англоязычный.
Да, португалоязычный был бы поудобнее.

0
_Ivana
07.08.2016, 23:55
  #7

Не по теме:

Цитата Сообщение от geh Посмотреть сообщение
vlisp
Я удивлен Вашим ответом. Но будем его считать
Самым лучшим. И пусть будет так, как Вы хотите...
А я не удивлен, но согласен считать его самым лучшим. Возможно, его автор также пересекался с вами в других разделах, и так же как и я, например, мог наблюдать ваш нулевой уровень в сочетании с гонором и сомнительными личностными качествами.

0
605 / 838 / 142
Регистрация: 10.08.2015
Сообщений: 4,224
08.08.2016, 06:56 8
Цитата Сообщение от _Ivana Посмотреть сообщение
нулевой уровень в сочетании с гонором и сомнительными личностными качествами.

Не по теме:

Дело не в качествах, а в непонимании философии функционального языка, где никакие переменные и константы не нужны

0
Модератор
Эксперт функциональных языков программированияЭксперт Python
33090 / 18438 / 3877
Регистрация: 12.02.2012
Сообщений: 30,994
Записей в блоге: 12
08.08.2016, 10:13 9
Цитата Сообщение от vlisp Посмотреть сообщение
где никакие переменные и константы не нужны
- точнее, где "переменные" являются константами. Но это в чистом функциональном языке, а Лисп таковым не является.

Добавлено через 1 минуту
Цитата Сообщение от geh Посмотреть сообщение
И возможно ли обратное преобразование?
- нет, невозможно.

Добавлено через 45 секунд

Не по теме:

_Ivana, не нужно обострять противоречия. Худой мир лучше доброй ссоры.

1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.08.2016, 10:13
Помогаю со студенческими работами здесь

Как создать константу для нескольких файлов проекта
Создал константу, если писать в несколько заголовочных файлов а потом инклюдить в один вызывается...

Как создать глобальную константу для всего проекта?
как создать?

Как нарастить константу?
Здравствуйте, подскажите пожалуйста начинающему. У меня есть константа Z12=300 и есть код который...

Как задать константу Пи
пишет ошибку 19 7 expected primary-expression before '=' token в 19 строке, ругается на Pi я так...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru