class C
def initialize
@ary = [0,1,2,3,4,5,6,7]
end
def [](i)
@ary[i * 2]
end
def []=( i, v )
@ary[i * 2] = v
end
end
c = C.new
p c[3] # 变成 c.[]( 3 ), 结果为6
p c[3] = 1 # 变成 c.[]=(3,1),结果为1
所謂的回調。
ruby函數默認地在結束時返回最後一個處理的數據,也就是那個關鍵字 return 做的事情。
你可以簡單地認為這個是數據殘留。作者: ~❤ 时间: 2011-6-29 20:27
class C
def initialize #初始化
@ary = [0,1,2,3,4,5,6,7] #生成ary
end
def [](i) #调用[](i)方法
@ary[i * 2] #返回@ary中index为i*2(是否需要加1?的数值
end
def []=( i, v ) #调用[i] = v
@ary[i * 2] = v #返回@ary中index为i*2赋值为v之后的值(就是返回V= =
end
end
c = C.new # 生成一个c
p c[3] # 变成 c.[]( 3 ), 结果为6
p c[3] = 1 # 变成 c.[]=(3,1),结果为1