このコードで、nil値とfalse値を防ぐ2つのメソッドとを定義する必要がnilguard
あります。falseguard
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
正常に機能するを定義するだけです。なぜこれなのか、なぜ他の方法を定義しないのか?