使用除非和“?”有什么需要?在这种情况下,如果您可以一起使用
unless person.present?
相当于
if person.present
它们不是等价的。
doSomeThing() unless person.present?person.present仅当is
时才会执行null
doSomeThing() unless person.present
如果person.present是一个false值,将执行
doSomeThing() if person.present
如果person.present是一个true值,将执行
您也可能屈服于问题中的错字。除非你有一个' per sent ' 属性person,否则它总是未定义的,这是错误的。