赞 | 0 |
VIP | 0 |
好人卡 | 0 |
积分 | 1 |
经验 | 38864 |
最后登录 | 2013-9-8 |
在线时间 | 238 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 50
- 在线时间
- 238 小时
- 注册时间
- 2006-10-2
- 帖子
- 417
|
本帖最后由 猫哥哥 于 2009-7-13 04:55 编辑
依稀记得,这个例子无非就是告诉你用attr_accessor:name这么定义类成员变量的读写,有多么方便= =
你看的是谁翻译的,改得这么囧……
我查看了下,日文原版是这么写的:- 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的值,第二个函数则是给Person类的函数赋值。
看见倒数第二句了吗?那就是调用了第二个函数,给@name赋值了。
若是使用alex.name,不在后面用等号赋值,就是使用了第一个函数。 |
|