首页 > 解决方案 > 如何使用 ruby​​ 变量作为 def 名称?

问题描述

不确定这是否可能,但以这种方式优化代码会很好。我正在尝试做这样的事情:

$name2 = 'name2'

def ('name1'+$name2)
...
end

标签: ruby

解决方案


您可以使用define_method,这是一个示例:

>> foo = "bar"
=> "bar"
>> define_method("foo_#{foo}") do
?>   puts "Hello from method"
>> end
=> :foo_bar
>> foo_bar
=> Hello from method

推荐阅读