我最近刚开始使用 Ruby,我希望有一种速记方法可以将绑定方法用作我缺少的 proc。我试图从本质上做到这一点
SYMBOLS = {"I" => 1, "V" => 5, "X" => 10, ... }
roman = "zXXIV".upcase.chars.collect { |c| SYMBOLS[c] }
=> [nil, 10, 10, 1, 5]
我觉得在 ruby 中应该有一种简单的方法来使用 SYMBOLS[] 作为绑定方法,所以只需
roman = str.upcase.chars.collect &:SYMBOLS[]
解决方案 Ruby 1.9.3
罗马 = SYMBOLS.values_at(*str.upcase.chars)