查看: 2028|回复: 3

[已经过期] 实变量定义

[复制链接]
梦石
0
星屑
170
在线时间
809 小时
注册时间
2013-8-23
回帖
773

开拓者

发表于 2014-2-8 21:10:48 | 显示全部楼层 |阅读模式

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

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

×
如下所示定义实变量

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和name=两个方法,其中方法name=,name和=之间没有空格
alex为Person类对象
alex.name = "艾力克斯"
为什么实际调用了name=方法?调用方法的时候name和=之间多加了一个空格啊?
遗失的签名。。。
梦石
0
星屑
34467
在线时间
5096 小时
注册时间
2012-11-19
回帖
4715

开拓者

发表于 2014-2-9 11:00:34 | 显示全部楼层
name=方法 是类内部定义变量的写入方法。
调用方法的时候name和=  ,众所周知,是给变量赋值,就像 a = 0 一样,要加空格。

点评

定义方法的时候定义的是name=方法 name和=之间加空格的方法没有定义啊  发表于 2014-2-9 16:24
xp vx va mv  va mz 各类型脚本/插件定制
回复

使用道具 举报

梦石
0
星屑
50
在线时间
466 小时
注册时间
2013-2-8
回帖
420
发表于 2014-2-9 11:09:31 来自手机 | 显示全部楼层
不加也行啊!

点评

为什么加和不加产生的效果都一样呢  发表于 2014-2-9 16:25
回复

使用道具 举报

梦石
0
星屑
34467
在线时间
5096 小时
注册时间
2012-11-19
回帖
4715

开拓者

发表于 2014-2-9 16:29:33 | 显示全部楼层
name=(name)  是定义类实例变量的一个写入方法。
name = "" 是运用上面定义的方法写入

点评

定义方法的时候没定义name和=之间有空格的方法,调用方法的时候name和=之间加了空格?我试了空格加不加结果都一样,这空格是干什么用的?  发表于 2014-2-9 19:40
xp vx va mv  va mz 各类型脚本/插件定制
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部