Jewel-mmo開発日記

RubyでMMORPGを作る過程を記録する日記。 Yokohama.rb 発起人。
2007-08-27

[Ruby]順序付きハッシュを使いたくなるとき

いつもRailsのViewで書きたくなる。 今はこうしているけど、

<%= [
      [:Home,  { :controller => :home }],
      [:Menu,  { :controller => :home, :action => :menu}],
      [:Login, { :controller => :account, :action => :login }],
    ].map {|name, args| link_to(name, args) }.join(' ') %>

できればこう書きたかった。

<%= {
      :Home  => { :controller => :home },
      :Menu  => { :controller => :home, :action => :menu },
      :Login => { :controller => :account, :action => :login },
    }.map {|name, args| link_to(name, args) }.join(' ') %>

ハッシュの意味がどーこーじゃなくて、ただハッシュのリテラル表記が好きなだけなのかなあ。 デザインを本格的に作りこむ段階では、こういう場所はベタに展開しちゃいそうなんだけど、開発途中のさくっとでっち上げたいときにはできるだけ楽に書きたい。