Fyi、Railsを使用しています。
与えられたuser = User.find(1)
このcaseステートメントはnil
、の結果を返す必要があるときに戻りますself.do_something_with_user
。
def case_method
case self.class
when User
self.do_something_with_user # assume does not return nil
when SomeOtherClass
self.do_something_else
else
nil
end
end
user.case_method # => nil
私は何が欠けていますか?pryを使用して、self.class == User
trueを返します。