查看: 2053|回复: 4

[已经解决] 一个关于脚本实例变量问题

  [复制链接]
头像被屏蔽
梦石
0
星屑
50
在线时间
0 小时
注册时间
2009-1-19
回帖
102
发表于 2009-7-12 20:56:10 | 显示全部楼层 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
梦石
0
星屑
50
在线时间
238 小时
注册时间
2006-10-2
回帖
372
发表于 2009-7-13 04:50:51 | 显示全部楼层
本帖最后由 猫哥哥 于 2009-7-13 04:55 编辑

依稀记得,这个例子无非就是告诉你用attr_accessor:name这么定义类成员变量的读写,有多么方便= =

你看的是谁翻译的,改得这么囧……
我查看了下,日文原版是这么写的:
  1. class Person
  2.   def name
  3.     return @name
  4.   end

  5.   def name=(name)
  6.     @name = name
  7.   end

  8.   def hello
  9.     print "俺は" + @name + "だ"
  10.   end
  11. end

  12. alex = Person.new
  13. alex.name = "アレックス"
  14. alex.hello                  # => 俺はアレックスだ
复制代码
实际上,第一个函数是返回Person类里的@name的值,第二个函数则是给Person类的函数赋值。
看见倒数第二句了吗?那就是调用了第二个函数,给@name赋值了。
若是使用alex.name,不在后面用等号赋值,就是使用了第一个函数。
回复

使用道具 举报

头像被屏蔽
梦石
0
星屑
50
在线时间
0 小时
注册时间
2009-1-19
回帖
102
 楼主| 发表于 2009-7-14 20:43:22 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

天仙

梦石
0
星屑
720
在线时间
184 小时
注册时间
2008-4-15
回帖
4872

贵宾

发表于 2009-7-15 05:21:08 | 显示全部楼层
谢谢LS同志
补充一下
def name=(name) #这个定义是什么意思
零月殇 发表于 2009-7-14 06:43 AM

赋值用的
请看你LS的倒数第三句
VA脚本开工中...
偷窃脚本1.0 - 已完成
回复

使用道具 举报

梦石
0
星屑
61
在线时间
24 小时
注册时间
2008-8-5
回帖
1912
发表于 2009-7-15 10:57:55 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部