关于&&和||
&&和||的确不是单纯的数学上的逻辑与逻辑或,而是短路运算:
a && b #=> a ? b : a
a || b #=> a ? a : b
但是,他们都是从左到右运算,即便右侧有N的N次方个括号
也就是说:
0 || (1 && (1 && 1) && (233 || ("101010" || 5) && 8 || nil) && false) #...
事实上也只有0被运行了而已
这一点在C++这类语言上也经常理解错误【并往往产生激烈(而无用)的讨论】,希望能够点明
--------------------------------抓虫的分割线----------------------------------
27页第13行不是;而是:
case值得注意的一点是,下面的语句往往得不到预期的效果: