幻想森林

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1383|回复: 3

有问题请教

[复制链接]

4

主题

8

帖子

1372

积分

⑥精研

积分
1372
发表于 2005-8-15 00:04:32 | 显示全部楼层 |阅读模式
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                  # => 我是艾力克斯

这段脚本我有点看不懂  就是从def name=(name)   def后面不应该是函数明吗  但name=(name)

怎莫像是一个赋值语句   请各位给小弟讲一下这段代码运行的具体过程  谢谢了

还有那个 .new 是什莫意思  感谢您的回答
回复

使用道具 举报

89

主题

2333

帖子

3273万

积分

⑧专业

Xavier on Rails

积分
32739794
QQ
发表于 2005-8-15 13:13:11 | 显示全部楼层
name是这个函数的名称。name=()获取属性@name的值。
.new就是让这个类的内容在画面上显示出来。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

4

主题

8

帖子

1372

积分

⑥精研

积分
1372
 楼主| 发表于 2005-8-15 16:30:49 | 显示全部楼层
对不起   我还是有点不太明白主要就是

def name
    return @name
  end


def name=(name)
    @name = name
  end

这两个函数在调用时是先执行哪个  这两个函数有什莫联系  谢谢了  我有点笨

回复 支持 反对

使用道具 举报

32

主题

1187

帖子

44万

积分

⑧专业

大象摇啊摇

积分
441584
QQ
发表于 2005-8-15 17:47:37 | 显示全部楼层
如果只是alex.name的话就调用前者.
如果是alex.name = \"XXX\"的话就调用后者.
[em04][em04][em04]
真実を知らぬ者にとって、闇は安寧ではなく…… 恐怖や邪悪という負の存在を想起させるのであろうな。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|幻想森林

GMT+8, 2025-6-23 07:21 , Processed in 0.013566 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表