Project1

标题: 实变量定义 [打印本页]

作者: 冰水金刚    时间: 2014-2-8 21:10
标题: 实变量定义
如下所示定义实变量

class Person
  def name
    return @name
  end
  def name=(name)
    @name = name
  end
  def hello
    print "我是" + @name + ""
  end
end

alex = Person.new
alex.name = "艾力克斯"
alex.hello                  # => 我是艾力克斯


在Person类中定义了name和name=两个方法,其中方法name=,name和=之间没有空格
alex为Person类对象
alex.name = "艾力克斯"
为什么实际调用了name=方法?调用方法的时候name和=之间多加了一个空格啊?
作者: 芯☆淡茹水    时间: 2014-2-9 11:00
name=方法 是类内部定义变量的写入方法。
调用方法的时候name和=  ,众所周知,是给变量赋值,就像 a = 0 一样,要加空格。
作者: SuperMario    时间: 2014-2-9 11:09
不加也行啊!
作者: 芯☆淡茹水    时间: 2014-2-9 16:29
name=(name)  是定义类实例变量的一个写入方法。
name = "" 是运用上面定义的方法写入






欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1