<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    莊周夢蝶

    生活、程序、未來
       :: 首頁 ::  ::  :: 聚合  :: 管理

    Ruby Tip:定義索引操作符

    Posted on 2010-02-01 16:29 dennis 閱讀(1053) 評論(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]

            注意方法簽名。


    評論

    # re: Ruby Tip:定義索引操作符  回復  更多評論   

    2010-02-02 00:08 by Kai Chen
    Actually, you can write these logic more simple with ActiveSupport:

    @@@
    class Message
    attr_accessor :props
    def initialize
    @props = Hash.new
    end
    delegate '[]', '[]=', :to => :props
    end

    msg = Message.new #=> #<Message:0x103f99530 @props={}>
    msg[:id] = 1
    msg[:id] #=> 1
    @@@

    Kinda cool, right?

    Rdoc: http://api.rubyonrails.org/classes/Module.html#M000110

    # re: Ruby Tip:定義索引操作符  回復  更多評論   

    2010-02-02 09:18 by dennis
    @Kai Chen
    yeath,it's really cool.
    主站蜘蛛池模板: 午夜免费不卡毛片完整版| 蜜臀98精品国产免费观看| 午夜免费福利在线观看| 亚洲国产乱码最新视频| 波多野结衣在线免费观看| 亚洲色欲色欲综合网站| 国产免费无码AV片在线观看不卡| 日韩精品亚洲aⅴ在线影院| 一级A毛片免费观看久久精品 | 久久久久久AV无码免费网站 | 人妻无码中文字幕免费视频蜜桃| 宅男666在线永久免费观看| 亚洲爆乳无码精品AAA片蜜桃| 国产男女猛烈无遮挡免费视频网站 | 亚洲熟妇自偷自拍另欧美| 天天摸天天碰成人免费视频| 成人区精品一区二区不卡亚洲| 日韩a级毛片免费视频| 精品亚洲成a人在线观看| 亚洲国产成人精品女人久久久| 美女被免费网站91色| 久久亚洲精品AB无码播放| 0588影视手机免费看片| 亚洲中文字幕乱码一区| va亚洲va日韩不卡在线观看| 中文字幕在线观看免费| 亚洲黄色免费网站| 最近中文字幕mv手机免费高清| 香港特级三A毛片免费观看| 国产亚洲一区二区在线观看| 97碰公开在线观看免费视频| 亚洲av无一区二区三区| 亚洲一区二区三区香蕉| 日本免费网站视频www区| 国产精品亚洲AV三区| 亚洲成a人片在线观看无码| 成人午夜视频免费| 在线观看黄片免费入口不卡| 亚洲中文字幕无码av在线| 亚洲毛片av日韩av无码| 最近2019中文字幕免费大全5|