我剛剛開始使用Ruby,我希望有一個使用綁定方法作爲我缺少的proc的簡寫。我試圖做到這一點基本上是Ruby:將鍵值數組映射到速記值
SYMBOLS = {"I" => 1, "V" => 5, "X" => 10, ... }
roman = "zXXIV".upcase.chars.collect { |c| SYMBOLS[c] }
=> [nil, 10, 10, 1, 5]
我覺得應該有紅寶石一個簡單的方法,只是使用的符號[]作爲一個綁定方法,所以只是
roman = str.upcase.chars.collect &:SYMBOLS[]
解決方案的Ruby 1.9 0.3
羅馬= SYMBOLS.values_at(* str.upcase.chars)
好,有沒有更一般的方法? – agoebel
@agoebel關於'Hash.values_at'的一般不是什麼? –
猜猜我還需要對紅寶石對象模型有更好的感覺。我只是想知道一般的解決方案,如果我有一個自定義類/方法我想做同樣的事情。 – agoebel