设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1178|回复: 3
打印 上一主题 下一主题

学脚本时遇到的问题

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
90
在线时间
2 小时
注册时间
2008-1-20
帖子
10
跳转到指定楼层
1
发表于 2008-3-26 17:20:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
class Person        定义一个新类
  def name         定义一个新函数name
    return @name    函数内容是@name实变量
  end
  def name=(name)                 name=(name)什么意思?
    @name = name                    @name = name什么意思?
  end
  def hello                     定义一个方法hello   
    print "我是" + @name + ""
  end
end

alex = Person.new
alex.name = "艾力克斯"
alex.hello                  # => 我是艾力克斯

上面的示例是先准备 @name 实变量,使用 name、name= 方法把对象附加上 @name 实变量作为属性。像这样的方法称为附加属性。

这是我在看脚本基础时遇到的问题虽然有解释但时还时弄不明白




def name=(name)         |   
    @name = name        |  主要就时这个地方看不懂  两个name到底有什 不一样   
  end                   |

版务信息:本贴由楼主自主结贴~
新人

Lv1.梦旅人

邪恶小龙包

梦石
0
星屑
55
在线时间
17 小时
注册时间
2006-5-22
帖子
7006

第2届短篇游戏比赛冠军第3届短篇游戏大赛小游戏及其他组冠军RMVX自由创作大赛冠军

2
发表于 2008-3-26 17:23:59 | 只看该作者
def name=(name)         |   
   @name = name        |  主要就时这个地方看不懂  两个name到底有什 不一样   
end                   |

没什么不一样……
第一个name是这个定义的名称 第二个是变量
虚无  堕落
回复 支持 反对

使用道具 举报

Lv1.梦旅人

辉瑞中国首席研究员<

梦石
0
星屑
50
在线时间
142 小时
注册时间
2008-1-18
帖子
2129
3
发表于 2008-3-26 17:25:31 | 只看该作者
alex = Person.new
就是生成一个Person类的实例叫alex
这个实例可以调用在Person类中定义的方法
alex.name = "艾力克斯"
让alex这个实例执行name=(name)这个方法
就是将"艾力克斯"代入@name
最后让alex执行hello这个方法
输出 我是艾力克斯
来6r就是等某位仁兄的巨坑

褴褛着身行无端,囊中羞涩空心酸。
平生几无得意事,倒塔泡面宅寝室。
惟羡隔壁高帅富,雨露春风月夜声。
青丝无处觅其踪,只有硬盘苍井空。
莫云男儿空悲愁,鸿鹄岂不天际游。
坐断天下执鹿首,千百金帛万兜鍪。
夜深忽梦某年月,再见女神欲语迟。
吊丝终有逆袭日,木耳再无回粉时。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
1 小时
注册时间
2008-2-3
帖子
17
4
发表于 2008-3-26 18:18:20 | 只看该作者
def name=(name)         |   
   @name = name        |  主要就时这个地方看不懂  两个name到底有什 不一样   
end

这里只需要高清楚什么是什么就行了。
稍微改一下。
def M_name=(name)
   @name=name
end

m_name 是一个方法的名字
name 是一个临时的变量,是方法m_name的参数,也就是传给这个方法的信息,在使用完之后内存就被释放掉。
@name 是一个实例变量,只要person这个对象(object)存在,他就一直呆在内村里。

这样解释懂得了么?

我写代码一直把方法用m_开头,这样我就知道什么是变量,什么是方法。程序的可读性就好点。
系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
回复 支持 反对

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-29 08:48

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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