Например, в функциональных языках переменные являются одним присваиванием, а их значения неизменны после присвоения. Таким образом, у них есть два состояния, не связанных и связанных , однажды связанные они не могут быть изменены.
Существует ли какой-либо математический термин или другой термин в области компьютерных наук, который наиболее подходит для таких вещей, как вещь? То, что семантически не подразумевает дисперсию или изменчивость.
Если не существует, например, термин и если вы разрабатываете язык с такими конструкциями, что, кроме переменной слова , вы бы использовали для них?
Я на самом деле не ищу опрос для идей, я пытаюсь выяснить, есть ли уже принятый термин (любая отрасль) для такого понятия.
Ответы:
Что насчет "символа"?
Я видел видео на F #, где говорящий сказал:
(Все еще ищу ссылку для этого.)
Всякий раз, когда я сталкиваюсь со словом «переменная» в местах, где такие конструкции неизменны, я молча думаю «связанный символ».
источник
Просто назовите их переменными. Математика имеет переменные; функциональные языки имеют одинаковые переменные.
Смотрите также это эссе Боба Харпера по этому вопросу терминологии .
источник
Это все еще переменная, если она может принимать различные значения в разных вызовах. Другими словами, даже если он не может быть изменен после назначения, этот символ может быть изначально назначен различным значениям. Это в отличие от константы, которая содержит одно и то же значение каждый раз, когда она вызывается.
источник
константа или const, вероятно, были бы знакомы людям, использующим такие языки, как C и C ++,
источник
Имя . Одна и та же вещь может быть разумно вызвана несколькими именами (
x = 4; y = 4
); и имя, определенное однажды, никогда не меняет своего референта.x = 2; x = 3
имеет такой же смысл, как сказать, что осьминог не осьминог.источник
label
ноname
работает хорошо и хорошо, если не лучше.Почему бы просто не придерживаться этого термина? Это может не подходить на 100%, но если вы выберете другое имя, которое, вероятно, вызовет больше недоразумений, чем те, которые вы пытаетесь решить. У разработчиков других функциональных языков может быть та же проблема, но они также решили использовать термин «переменная».
XSLT (который широко используется):
http://www.w3schools.com/xsl/el_variable.asp
Haskell:
http://www.haskell.org/onlinereport/haskell2010/haskellch3.html#x8-240003.2
Схема:
http://www.scheme.com/tspl2d/binding.html
Erlang:
http://www.erlang.org/doc/reference_manual/expressions.html
Все они тоже используют термин «переменная».
Конечно, другие дизайнеры языка предпочитают говорить о «привязках» или «связанных значениях», как здесь для F #:
http://msdn.microsoft.com/en-us/library/dd233238.aspx
источник
В зависимости от контекста «переменная» или «привязка» будет работать. Я думаю, что «связывание» более вероятно встречается в таких утверждениях, как
let
в Haskell или Lisp.источник