仅供参考,使用 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。