查看: 1302|回复: 1

[已经解决] 初学者的类方法定义疑问

[复制链接]
梦石
0
星屑
64
在线时间
47 小时
注册时间
2008-12-17
回帖
30
发表于 2012-1-15 11:54:50 | 显示全部楼层 |阅读模式

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

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

×
1  class C
2  def initialize
3     @ary =[0,1,2,3,4,5,6,7]
4   end
5   def [](i)
6     @ary[i*2]
7   end
8   def []=(i,v)
9     @ary[i*2]=v
10  end
11 end
12 c=C.new
13 p c[3]
14 p c[3]=1
这个例子,看不懂5-10行的2个方法定义,尤其是8,9行,完全糊涂了。求详细解释

点评

我第一次看到变量的定义以后 虽然看不懂 但是强制认为[]可以这样定义  发表于 2012-1-15 12:29

Mr.Gandum

梦石
0
星屑
226
在线时间
2070 小时
注册时间
2007-1-31
回帖
2982

贵宾

发表于 2012-1-15 12:21:55 | 显示全部楼层
就是跟变量的定义似的。
定义这个方法可以在使用时这样用:
  1. XXX[a]
复制代码
这个就是5-7行定义的方法。其中在[]中间的就是5行后面括号中的i。
同理,
  1. XXX[a] = b
复制代码
这个就是8-10行定义的方法。其中在[]中间的就是8行后面括号中的i,=后面的就是8行后面括号中的v。
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部