Ruby Tip:定義索引操作符
Posted on 2010-02-01 16:29 dennis 閱讀(1056) 評(píng)論(2) 編輯 收藏 所屬分類: 動(dòng)態(tài)語(yǔ)言 怎么讓你對(duì)象跟Array或者Hash一樣,可以使用[ ]操作符來(lái)獲取屬性值或者賦值? 問(wèn)題其實(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]
注意方法簽名。