1
我希望这段代码能够定义两种方法,nilguard
和falseguard
,它们可以防止nil和false值。不定义第二种方法?
Object.class_eval do
@list = [false, nil]
@list.each do |i|
define_method :"#{i}guard" do |other|
if self == i
return other
else
return self
end
end
end
end
由于某种原因,它只定义了falseguard
,它工作正常。为什么这是为什么它不定义其他方法?