问题标签 [short-circuiting]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - python布尔表达式不是“短路”?
例如:
我认为上面的代码应该输出:
代替 :
为什么 ?我怎样才能产生“短路”效果?
haskell - Haskell 素数测试
我是 Haskell 的新手,我正在尝试一下:
我有几个问题。
- 为什么当我尝试加载 .hs 时,WinHugs 会说:
(Floating Integer, RealFrac Integer)
定义所需的实例isPrime
? - 当解释器在正确的集合中找到一个元素时,它会立即停止还是计算所有集合?我想你知道我的意思。
对不起我的英语。
c++ - 实例化模板时短路?
考虑这个代码片段,
other<true>
当实例化似乎完全没有必要时,编译器是否会在上述情况下实例化?或者仅仅因为我已经编写了语法,编译器必须实例化它,而不管它对?other<b>::value
的值的计算完全没有贡献。test<true>::value
我想听听,a)标准要求什么,以及 b)各种编译器实际实现了什么?标准中的相关部分将不胜感激。
c++ - 整数比较运算符在 C++ 中是否短路?
与标题状态一样,整数(或任何数字数据类型,如浮点数等)比较运算符(==、!=、>、>=、<、<=)在 C++ 中是否短路?
c# - 在 .NET 中依赖 && 短路安全吗?
假设 myObj 为空。写这个安全吗?
我知道有些语言不会执行第二个表达式,因为 && 在执行第二部分之前计算为 false。
javascript - JavaScript; 用 OR 子句解析 IF 语句
我的问题很简单,如果我声明一个带有一系列 OR 子句的 IF 语句,JavaScript 会读取所有 OR 还是停在第一个满足的 OR 处?
提前致谢。
objective-c - Objective-C 是否对 nil 对象的消息使用短路评估?
按照通常的短路评估问题,短路评估是否适用于针对 nil 对象构建和发送的参数?例子:
是要调用那个慢速函数还是会在不处理参数的情况下优化整个 addObject 调用?
javascript - 使用 && 的短路作为 if 语句?
jQuery.form.js
我在源代码中看到了这一行:
我的第一个想法是wtf??
我的下一个想法是,我无法决定这是丑陋还是优雅。
无论如何,我都不是 Javascript 专家,所以我的问题是 2 倍的。首先,我想确认我理解正确。上面的行是否等效于:
其次,这是 Javascript 中常见/公认的做法吗?一方面它很简洁,但另一方面,如果你以前没有看过它,它可能会有点神秘。
ruby - Ruby 1.9.2 Object.respond_to?:hello && Object.hello 给出错误,为什么?
今天在单步执行代码时,我注意到了一些意想不到的事情。这个说法:
如果 Object.respond_to? :hello && Object.hello #stuff
给出未定义的方法错误。但为什么?显然 hello 不是 Object 的有效方法,但是考虑到短路评估,Object.hello 不应该在 Object.respond_to 时被忽略吗?: 你好是假的?
我在玩 Authlogic 时注意到了这一点,试图弄清楚为什么 UserSession 类必须定义持久化?在 Rails 3 中。
谢谢
python - 如何在 Python lambdas 中表达条件执行?
我发现了什么:
在Dive in to Python 中,我读到了 and 运算符的特殊性质,and
以及or
布尔运算符的短路求值如何通过与C 中的三元运算符非常相似的and-or 技巧更简洁地表达条件。
C:
Python:
这似乎派上了用场,因为 lambda 函数在 Python 中仅限于单行,但它使用逻辑语法来表达控制流。
从 Python 2.5 开始, inline-if
似乎已经成为一种更易读的 and-or 技巧的语法:
所以我猜这是对可读性较差的和/或构造的pythonic替代品。即使我想嵌套多个条件,它看起来仍然很全面:
但是在一个充满不确定性的世界中,我经常发现自己编写了一些这样的代码来访问 abc :
因此,在inline-if的帮助下,我可能可以摆脱一些ands和ors,从而产生一段可读性很强的代码:
我还在这个食谱中发现了一种有点神秘的方法来处理条件
但这不会短路,如果条件结果不返回布尔值 0 或 1,则会导致各种错误。
我想知道的:
现在我想知道是否认为使用内联更可取/更pythonic -if
如果向下兼容性不是一个问题,或者只是一个品味问题,以及在短路世界中的感觉如何评估?
更新
我刚刚意识到 inline-if 不仅仅是 and-or-trick 的语法糖,因为a
在布尔上下文中为 false 时它不会失败。所以它可能更防故障。