怎么讓你對(duì)象跟Array或者Hash一樣,可以使用[ ]操作符來獲取屬性值或者賦值? 問題其實(shí)就是如何定義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]
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]
注意方法簽名。