和和之间的区别|| 设置变量时

我的印象是|| or是同义词。

设置变量有or没有值; 为什么?

 >> test = nil or true => true >> test => nil >> test = false or true => true >> test => false 

使用|| “按预期”工作

 >> test = nil || true => true >> test => true 

or 优先=

 test = nil or true 

是相同的

 (test = nil) or true 

这是true ,同时将test设置nil

|| 优先级高于=

 test = nil || true 

是相同的

 test = (nil || true) 

这是true ,同时将test设置为true

and和之间相同。 我曾经被这个问题所困扰,然后我意识到虽然and&&更具可读性,但这并不意味着它总是更合适。

 >> f = true && false => false >> f => false >> f = true and false => false >> f => true >>