标识符用于命名变量、类、模块、方法以及作用域(块)等等。在Ruby中,用于命名局部变量、实例变量、类变量、全局变量、常量、方法以及块的标识符有一套固定的规则。下面我们先来认识一下变量以及常量的命名规则。
变量和常量的一般命名规则如下:
以”@”开头的变量是实例变量;
以”@@”开头的变量是类变量;
以小写字母或者下划线”_”开头的变量是局部变量;
以大写字母开头的变量是常量;
以”$”开头的变量是全局变量。
一般地,标识符的第二个字符可以是:字母、数字或下划线,变量名的长度只受内存大小的限制。
任何计算机语言都有保留字,保留字是计算机语言系统自身留作己用的,有其特殊的用途,不可用作常量或变量名。
Ruby有如下保留字:
BEGIN END alias and begin break case class
def defined? do else elsif end ensure false
for if in module next nil not or
redo rescue retry return self super then true
undef unless until when while yield
这些保留字前面冠以”$”、”@”、”@@”、”_”时,标识符就不再是保留字。另外Ruby可以用保留字作方法名——在def后面被定义,在”.”后面被调用。
比如:
变量和常量的一般命名规则如下:
以”@”开头的变量是实例变量;
以”@@”开头的变量是类变量;
以小写字母或者下划线”_”开头的变量是局部变量;
以大写字母开头的变量是常量;
以”$”开头的变量是全局变量。
一般地,标识符的第二个字符可以是:字母、数字或下划线,变量名的长度只受内存大小的限制。
任何计算机语言都有保留字,保留字是计算机语言系统自身留作己用的,有其特殊的用途,不可用作常量或变量名。
Ruby有如下保留字:
BEGIN END alias and begin break case class
def defined? do else elsif end ensure false
for if in module next nil not or
redo rescue retry return self super then true
undef unless until when while yield
这些保留字前面冠以”$”、”@”、”@@”、”_”时,标识符就不再是保留字。另外Ruby可以用保留字作方法名——在def后面被定义,在”.”后面被调用。
比如:
- class A
- def false
- puts ".. false .."
- end
- end
- a = A.new
- a.false
- def while
- puts "While!"
- end
- 转自:http://www.ruby-lang.org.cn/forums/thread-5105-1-1.html