查看: 6790|回复: 23

[已经过期] 某一类的实变量怎样调用到另一个类里?

[复制链接]
梦石
0
星屑
50
在线时间
47 小时
注册时间
2010-8-1
回帖
207
发表于 2010-8-7 21:10:23 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
本帖最后由 seasoneast 于 2010-8-9 20:03 编辑

想请教一下~

宛若

梦石
0
星屑
1888
在线时间
529 小时
注册时间
2007-8-19
回帖
1466

极短24参与开拓者

发表于 2010-8-7 21:12:47 | 显示全部楼层
首先必须是实例变量(以@开头)
然后,在类的开头写上
attr  :变量标识符,true

最后,调用的时候
类的实例.变量标识符
[url=http://rpg.blue/thread-219730-1-1.html]http://unhero.sinaapp.com/wi.php[/url]
[color=Red]如你所见这是个死坑,没错这就是打我的脸用的[/color]
回复

使用道具 举报

梦石
0
星屑
50
在线时间
47 小时
注册时间
2010-8-1
回帖
207
 楼主| 发表于 2010-8-7 21:24:06 | 显示全部楼层
回复 逸豫 的帖子


    假如我要使A类的@command_window.index在B类可用,那应该在A类开头写上什么~?
回复

使用道具 举报

梦石
0
星屑
50
在线时间
270 小时
注册时间
2010-2-4
回帖
1296
发表于 2010-8-7 21:36:50 | 显示全部楼层
class A
attr_reader :command_window
end
a = A.new
b = a.command_window.index
ps:
attr_accessor是读写,attr_reader是只读,attr_writer是只写
好歹当年也当过大魔王过,orz
回复

使用道具 举报

万物创造者

梦石
0
星屑
54
在线时间
352 小时
注册时间
2008-2-15
回帖
2406
发表于 2010-8-7 21:43:07 | 显示全部楼层
def command_window
  return @command_window
end
理论上这样也行,不过最好用attr
From mortal hope immortal power springs.
回复

使用道具 举报

归去之风<

梦石
0
星屑
50
在线时间
14 小时
注册时间
2010-8-5
回帖
45

开拓者

发表于 2010-8-7 21:48:12 | 显示全部楼层
对于这类只是少量使用的情形,可以考虑用instance_eval
表达式 A类对象名.instance_eval("@command_window").index
当然更常规的方法是attr_accessor(这里考虑到情况可以只开放attr_reader级的权限)
顺便汗一下1Lattr方法……= =是来晒技术的么
不如归去,风吹的那么刺骨。
又何必再这样流连,曾经的流年已如风般逝去
回复

使用道具 举报

梦石
0
星屑
50
在线时间
47 小时
注册时间
2010-8-1
回帖
207
 楼主| 发表于 2010-8-7 21:48:22 | 显示全部楼层
回复 zhangbanxian 的帖子

为何显示attr_reader:那一行发生SyntaxError~?
   
回复

使用道具 举报

梦石
0
星屑
50
在线时间
47 小时
注册时间
2010-8-1
回帖
207
 楼主| 发表于 2010-8-7 22:23:40 | 显示全部楼层
回复 不如归去 的帖子

这样可以改写变量的值吗?
   
回复

使用道具 举报

梦石
0
星屑
50
在线时间
270 小时
注册时间
2010-2-4
回帖
1296
发表于 2010-8-8 08:41:38 | 显示全部楼层
回复

为何显示attr_reader:那一行发生SyntaxError~?
seasoneast 发表于 2010-8-7 21:48
注意不要打成中文冒号,还有冒号后面不要有空格- -b


回复

使用道具 举报

宛若

梦石
0
星屑
1888
在线时间
529 小时
注册时间
2007-8-19
回帖
1466

极短24参与开拓者

发表于 2010-8-8 10:52:17 | 显示全部楼层
只读:
attr_reader :标识符王道
或者
attr :标识符王道

只写:
attr_writer :标识符王道

读写:
attr :标识符王道,true
attr_accessor :标识符王道

另:直接写attr是因为方便- -
[url=http://rpg.blue/thread-219730-1-1.html]http://unhero.sinaapp.com/wi.php[/url]
[color=Red]如你所见这是个死坑,没错这就是打我的脸用的[/color]
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部