打印

A.3 Ruby的标识符

本帖已经被作者加入个人空间 本主题由 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 R币 +10 原创内容 2008-6-11 15:39

TOP

咦,怎么每次都有细节的新发现。呵呵。
看来要跟着走了。
本帖最近评分记录
  • libaoming R币 +1 来者有分 2008-6-16 08:43
Flying Piggy...! 
天地人合一!

TOP

good !

TOP

用保留字做方法名在很多情况下都会引起混乱的吧。
比如我在顶层定义一个名为"def"的方法....

def def
    #...
end


本帖最近评分记录
  • libaoming R币 +1 来者有分 2008-6-16 08:43
Digging ruby with Pickaxe,
Running agilely on rails

TOP

这是在体味一门语言 当然是不建议去用关键字了 (*^__^*) 嘻嘻……

TOP

引用:
原帖由 libaoming 于 2008-6-11 17:45 发表
这是在体味一门语言 当然是不建议去用关键字了 (*^__^*) 嘻嘻……
赞成!
本帖最近评分记录
  • libaoming R币 +1 来者有分 2008-6-16 08:43
Flying Piggy...! 
天地人合一!

TOP

 Good!!!!
本帖最近评分记录
  • libaoming R币 +1 来者有分 2008-6-16 08:43

TOP

可以用保留字做方法名。。。。。。太暖昧啦
本帖最近评分记录
  • libaoming R币 +1 谢谢参与 2008-6-16 08:41

TOP

那是不是必须将这个方法放到类里面,而不能独立出来呢?
例如:

def false
puts "flase"
end

.flase


这样就不行,我自己试了!
要哪样才可以?或者说不可以!

不好意思,原来是作业题……

[ 本帖最后由 neohsiao 于 2008-6-16 00:37 编辑 ]
本帖最近评分记录
  • libaoming R币 +2 不错,加油 2008-6-16 08:40

TOP

学习学习~~~

TOP

2008-08-21 00:00 Crawled by CCBot/1.0 (+http://www.commoncrawl.org/bot.html) @38.103.63.60