我经常会像这样做:
do_something if x && x == y
在其他工作中,如果
x
不是 nil 并且它的值为 y
,则执行某些操作。如果可以的话,像这样做会很好:
do_something if x &&== y
有没有一种操作符可以做到这一点?
对评论的回应:
x == y
- 这种方式的问题在于,只有在已知y
的值时才测试其是否存在(非nil)。如果y
本身是nil
,那么检查失败。因此,你可能会这样做:
y && x == y
x&& x.token == token
In this case, if x
is nil, the statement will evaluate to false and won't check x.token == token
. I want a way to ensure that both conditions are met without writing an if statement like:
if x && x.token == token
# do something
end
do_something if user.token && user.token == params[:token]
y
已经有了一个值,你可以直接写成... if x == y
。 - Stefan==
,而不是=
。 - Stefanif user.token && user.token == params[:token]
这样的东西。 - ReggieB