我想要像这样的动态方法名称 usd_to_eur
eur_to_usd
我有currencies = ['uah','rur','usd','eur']
并且想要混合它
我尝试使用它,define_method
但不确定如何正确执行它。
class MyClass
CURRENCIES = %w|uah rur usd eur|
CURRENCIES.permutation(2).each do |(c1, c2)|
define_method(:"#{c1}_to_#{c2}") do
puts "Hi, I am #{__callee__} method"
end
end
end
现在,您已经定义了12种方法。例如:
MyClass.new.eur_to_usd
#⇒ Hi, I am eur_to_usd method
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句