有关理解Ruby语法的提示,何时使用?,除非

Bla*_*man 4 ruby

关键字unless是否与if?相同?

?什么时候用?

我见过:

if someobject?
Run Code Online (Sandbox Code Playgroud)

我知道检查nil是否正确?

sep*_*p2k 13

关键字'除非'与'if'相同吗?

不,这是相反的.

unless foo 是相同的 if !foo

if someobject?
Run Code Online (Sandbox Code Playgroud)

我知道检查nil是否正确?

不,它调用一个名为的方法someobject?.即?它只是方法名称的一部分.

?可以在方法名中使用,但仅作为最后一个字符使用.通常,它用于命名返回布尔值的方法(即true或false).

?也可以用作条件运算符的一部分condition ? then_part : else_part,但这不是它在你的例子中的使用方式.