quzhongwei 2008-6-10 20:41
A.3 Ruby的标识符
标识符用于命名变量、类、模块、方法以及作用域(块)等等。在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后面被定义,在”.”后面被调用。
比如:
class A
def false
puts ".. false .."
end
end
a = A.new
a.false
def while
puts "While!"
end
drive2me 2008-6-11 00:32
咦,怎么每次都有细节的新发现。呵呵。
看来要跟着走了。:D
libaoming 2008-6-11 08:50
good !
xavier 2008-6-11 16:31
用保留字做方法名在很多情况下都会引起混乱的吧。
比如我在顶层定义一个名为"def"的方法....[code]def def
#...
end[/code]
libaoming 2008-6-11 17:45
这是在体味一门语言 当然是不建议去用关键字了 (*^__^*) 嘻嘻……
drive2me 2008-6-11 18:30
[quote]原帖由 [i]libaoming[/i] 于 2008-6-11 17:45 发表 [url=http://www.ruby-lang.org.cn/forums/redirect.php?goto=findpost&pid=16657&ptid=5105][img]http://www.ruby-lang.org.cn/forums/images/common/back.gif[/img][/url]
这是在体味一门语言 当然是不建议去用关键字了 (*^__^*) 嘻嘻…… [/quote]
赞成!
gongmeihao 2008-6-13 17:43
:L 可以用保留字做方法名。。。。。。太暖昧啦:L
neohsiao 2008-6-16 00:32
那是不是必须将这个方法放到类里面,而不能独立出来呢?
例如:[code]def false
puts "flase"
end
.flase[/code]这样就不行,我自己试了!
要哪样才可以?或者说不可以!
[size=7][color=Red]不好意思,原来是作业题……[/color][/size]
[[i] 本帖最后由 neohsiao 于 2008-6-16 00:37 编辑 [/i]]
abugs 2008-10-5 21:27
[code]$VeryGood="楼主"[/code]全局的非常好 呵呵
[[i] 本帖最后由 abugs 于 2008-10-5 21:30 编辑 [/i]]
anstarword 2008-10-10 16:32
可以用关键字作方法名,知道了,呵呵,多谢