<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.
    主站蜘蛛池模板: 国产在线观看片a免费观看| 99免费在线视频| 精品国产免费一区二区| 久久综合久久综合亚洲| 久久久高清免费视频| wwwxxx亚洲| 在线观看免费大黄网站| 亚洲精品无码专区在线| 日本免费网站观看| 黄色a三级免费看| 国产亚洲欧洲Aⅴ综合一区| 黄床大片免费30分钟国产精品| 中文字幕亚洲电影| 日韩精品免费视频| 亚洲春黄在线观看| 永久免费av无码网站大全| 黄色毛片免费网站| 亚洲级αV无码毛片久久精品| 日韩免费在线观看视频| 亚洲短视频在线观看| 成人免费看片又大又黄| 男女污污污超污视频免费在线看| 国产精品亚洲mnbav网站| 外国成人网在线观看免费视频| 久久久无码精品亚洲日韩蜜臀浪潮 | 亚洲乱色伦图片区小说| 全亚洲最新黄色特级网站 | a级特黄毛片免费观看| 久久精品蜜芽亚洲国产AV| 成年在线观看网站免费| WWW国产亚洲精品久久麻豆| 亚洲综合无码AV一区二区 | 三年片在线观看免费大全| 在线91精品亚洲网站精品成人| 国产亚洲精品久久久久秋霞| 在线观看的免费网站无遮挡| 亚洲熟妇AV一区二区三区宅男| 亚洲精品国产高清嫩草影院| 免费人成在线观看网站| 亚洲av无码专区青青草原| 亚洲成A人片777777|