Я понимаю, что понятие буквальным применяется всякий раз, когда вы представляете фиксированное значение в исходном коде, точно так, как это предназначается, чтобы быть истолковано, по сравнению с переменной или константой, которые имена для нескольких класс или один из них соответственно.Почему функция может быть буквальной, а выражение не может?
Но они также против выражений. Я думал, это потому, что они могут включать переменные. Но даже такие выражения, как 1+2
, нет (см. Первый ответ в What does the word "literal" mean?).
Так что, когда я определить переменную следующим образом:
var=1+2
1+2
не является буквальным, даже если это не имя, и вычисляется в одно значение. Тогда я мог догадаться, что это потому, что он не представляет целевое значение напрямую; другими словами, буква означает значение «точно так же, как и».
Но как же возможно, что функция, подобная этой, является буквальной (как указал на тот же ответ)?
(x) => x*x
Понятие буквального и выражения различается от одного языка программирования к другому (не то же самое в Common Lisp и Ocaml и C) –