1
下面的代碼段是什麼意思,爲什麼有人會這樣寫呢?對非布爾操作數使用&&運算符
a = 1
b = 2
if a && b != a
...
end
有什麼之間的區別只是
if a != b
...
end
下面的代碼段是什麼意思,爲什麼有人會這樣寫呢?對非布爾操作數使用&&運算符
a = 1
b = 2
if a && b != a
...
end
有什麼之間的區別只是
if a != b
...
end
a != b
只是檢查是否a
和b
不相等,
凡爲a && b != a
檢查a
的真值在True
和a
和b
不等於
表示此的另一種方法將是:
if a
if b != a
#Do something
if a
檢查a
是truthy(均未nil
或false
):
a = 'a'
b = 'b'
if a && b != a
puts "I will be printed"
end
a = false # or nil
b = 'b'
if a && b != a
puts "I will NOT be printed"
end
啊,我想'&&'具有更高的優先級而不是'==',所以把它歸類爲'(a && b)!= a'。這就說得通了。 – MxyL
是的。由於這是一個布爾表達式,因此可以認爲它是'expression1 && expression2':在這裏有更多的信息:http://phrogz.net/programmingruby/language.html(布爾表達式) – karthikr