假设我们有一堆带有典型前缀的方法。动态生成方法名称的前缀
def pref_foo
# code
end
def pref_bar
# code
end
我想学习如何自动前面加上前缀那些我的方法的名字(例如它是如何在Rails中完成的:Model.find_by_smth
)。
换句话说,我想创造一些范围pref_
,这需要方法,并预置pref_
他们的名字,所以我的方法foo
变得可作为pref_foo
。
module Bar
# definition of some wrapper `pref_`
end
class Foo
include Bar
<some wrapper from Bar> do
def foo
puts 'What does a computer scientist wear on Halloween?'
end
def bar
puts 'A bit-mask.'
end
end
end
foo = Foo.new
foo.pref_foo # => "What does a computer scientist wear on Halloween?"
foo.pref_bar # => "A bit-mask."
检出['method_missing'](https://ruby-doc.org/core-2.3.3/BasicObject.html#method-i-method_missing):) –