Project1
标题:
一个关于脚本实例变量问题
[打印本页]
作者:
零月殇
时间:
2009-7-12 20:56
提示:
作者被禁止或删除 内容自动屏蔽
作者:
猫哥哥
时间:
2009-7-13 04:50
本帖最后由 猫哥哥 于 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,不在后面用等号赋值,就是使用了第一个函数。
作者:
零月殇
时间:
2009-7-14 20:43
提示:
作者被禁止或删除 内容自动屏蔽
作者:
雪流星
时间:
2009-7-15 05:21
谢谢LS同志
补充一下
def name=(name) #这个定义是什么意思
零月殇 发表于 2009-7-14 06:43 AM
赋值用的
请看你LS的倒数第三句
作者:
紫苏
时间:
2009-7-15 10:57
可以参考:
http://rpg.blue/viewthread.php?tid=124591
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1