Literal 和 Variable 含义的区别?

nsm1168 发布于 2013年08月23日
无人欣赏。

搜到下面这段解释,好像看明白了些,但还是不很清晰。

Literal, 在程序语言中,指表示某种数据值的符码。如,123 是整数值符码, 3.14 是浮点值符码,abcd 是字串值符码,True, False, 是逻辑值符码,等。 Literal 代表的是数据值的本身,区别于“变量”(Variable, 即容纳数据值的 内存址)。当然,变量名也可以作为 literal 处理。最直观的理解是,碰到 literal, 你不会想到要往里面写东西;如:123 = "Hello, World!", 象变量 那样。换句话说,Literal 是一个常量(Constant)。

“名与实”:那么,干脆把 literal 叫常量得了?不错,Literal 在有的程序 语言中就叫 Constant。但有的文献还是作了区别。兹述如下:

在程序语言中,符码作用有二:名称和数据值。凡是称为变量和常量的符码,都 是名称(ID,Symbol, Name),它们都代表一定的数据值,即 literal;只不过变量 所代表的数据值可以更换,而常量所代表的数据值是固定的而已。简言之,常量、 变量是“名”,Literal 是“实”。在这个意义上,就能体会与其英语原义的关联。

中文迄无定译。见到过“字面量”、“字面值”、“文字”、“实量”等译法。 我以为,可以考虑译作“实值”。那么,

String Literal: 字串实值。

共1条回复
tinyfool 回复于 2013年08月23日

Literal应该来说就是一个概念,最早的常量其实跟Literal应该没什么区别。但是,后来的常量加入了类型检查之类的东西,或者你可以说常量越来越像变量了,唯一区别就是常量还是不变的而已。

登录 或者 注册
相关帖子