最近Rubyを使い始めたばかりですが、欠落しているプロシージャとしてバインドされたメソッドを使用するための省略形があることを望んでいます。私はこれを本質的にやろうとしています
SYMBOLS = {"I" => 1, "V" => 5, "X" => 10, ... }
roman = "zXXIV".upcase.chars.collect { |c| SYMBOLS[c] }
=> [nil, 10, 10, 1, 5]
ルビーには、バインドされたメソッドとしてSYMBOLS []を使用する簡単な方法があるはずなので、
roman = str.upcase.chars.collect &:SYMBOLS[]
ソリューションRuby1.9.3
roman = SYMBOLS.values_at(* str.upcase.chars)