をキャッチされていない場合、私は、次の機能を持っている:の文がnil
def price
if super == nil
return 'super'
end
super
end
nil
が返されています。これはどのように可能ですか? if文でnilと等しい場合にsuperをキャッチしてから 'super'を返すべきである場合
をキャッチされていない場合、私は、次の機能を持っている:の文がnil
def price
if super == nil
return 'super'
end
super
end
nil
が返されています。これはどのように可能ですか? if文でnilと等しい場合にsuperをキャッチしてから 'super'を返すべきである場合
super
が毎回異なる値を返すことができる場合は、これが可能です(可能性は低い)。おそらく次のように試してみてください。一度だけsuper
と呼ばれるので、その落とし穴はありません。
def price
super || 'super'
end
それは同じメソッドの2番目の呼び出しが何らかの理由でnil
を返す場合があります:としてより簡単に表現しなければならない何かを言って、非常に奇妙な方法だ
def price
super || 'super'
end
。あなたは最初の結果をキャプチャしていないので、なぜこれが機能していないのかは分かりません。