Project1

标题: 令我头疼的实例变量,应该如何理解 [打印本页]

作者: kvkv97    时间: 2013-12-12 22:09
标题: 令我头疼的实例变量,应该如何理解
F1中说,这个attr_accessor:name 和下面的这个相同意思
def name                             
    return @name
end                                                       生成@name变量
def name=(name)
    @name = name
end                                                     不知道下面是怎么附加属性的?属性是什么意思?
作者: 英顺的马甲    时间: 2013-12-12 23:48
  1. attr_accessor :name    # 把@name设置为外部可读可写
  2. def name    # 定义一个名为name的函数,没有参数
  3.   return @name    # 函数被调用时返回@name这个变量
  4. end
  5. def name=(n)    # 定义一个有等于的name函数,有参数
  6.   @name = n    # 把@name这个变量定为参数
  7. end
复制代码

作者: Sion    时间: 2013-12-13 23:57
本帖最后由 Sion 于 2013-12-14 00:05 编辑

这个只是方法定义而已。
实例变量和方法定义是2个东西。
attr_accessor 定义的这2个方法分别用于读取和修改实例里的实例变量。
再次重申,attr_accessor 就是快速定义跟实例变量名一样的方法而已。
类似的还有 attr_reader 和 attr_writer 。
脚本里那个 “ ● 定义实例变量 ” 实在是一个渣解释




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