Posted on 2010-02-01 16:29
dennis 阅读(1051)
评论(2) 编辑 收藏 所属分类:
动态语言
怎么让你对象跟Array或者Hash一样,可以使用[ ]操作符来获取属性值或者赋值? 问题其实就是如何定义
index操作符,在Ruby中可以这样做:
class Message
def initialize
@props=Hash.new
end
def [](key)
@props[key]
end
def []=(key,value)
@props[key]=value
end
end
m=Message.new
m[0]=1
p m[0]
m[:a]="hello"
p m[:a]
注意方法签名。