私は他の通貨に$を変換するためのmethod_missingを実装しようとしています.5ドルの利回り5、5.yenは0.065 5.euro 6.56などとなります。これは私が今できることです。今私はそれを実装する必要がありますが、例えば5.dollars.in(:円)をしています。Ruby - method_missing
これは私が今持っているものです。
class Numeric
@@currencies = {'yen' => 0.013, 'euro' => 1.292, 'rupee' => 0.019}
def method_missing(method_id)
singular_currency = method_id.to_s.gsub(/s$/, '')
if @@currencies.has_key?(singular_currency)
self * @@currencies[singular_currency]
else
super
end
end
end
誰もが、私はこれを行うことができますどのように説明できますか?
PS:私はあなたにコードを渡すのではなく、説明をしたいので、私はそれがどのように行われたかを自分で判断することができます。
を定義することができ、私は同じに取り組んでいます問題は、興味深いことに、この投稿は現在Googleのトップにあります"ruby method_missing"に対して10ヒット。 – cori