Ruby中的or和||操作符有什么区别?还是只是偏好?
当前回答
和/或用于控制流。
Ruby不允许这是有效的语法:
false || raise "Error"
然而,这是有效的:
false or raise "Error"
可以使用()实现第一个方法,但使用or是正确的方法。
false || (raise "Error")
其他回答
输出false或true——>输出:false
输出假|| true——>打印:true
我使用这些操作符的方式:
||, &&是布尔逻辑。或,和用于控制流。如。
Do_smth if may_be || may_be——我们在这里计算条件
Do_smth或do_smth_else——我们定义工作流,这相当于 Do_smth_else除非do_smth
举个简单的例子:
> puts "a" && "b"
b
> puts 'a' and 'b'
a
Rails中一个著名的习语是呈现和返回。这是return if render的快捷方式,而render && return无效。更多信息请参见Rails文档中的“避免双重渲染错误”。
和/或用于控制流。
Ruby不允许这是有效的语法:
false || raise "Error"
然而,这是有效的:
false or raise "Error"
可以使用()实现第一个方法,但使用or是正确的方法。
false || (raise "Error")
如果其中一个操作数为真,则or和||都求值为真。只有当第一个操作数为假时,才计算第二个操作数。
与and一样,or和||之间的唯一区别是它们的优先级。
为了让生活更有趣,and和or具有相同的优先级,而&&的优先级高于||。
或者和||不一样。只使用||操作符代替or操作符。
这里有一些原因。:
Or运算符的优先级比||低。 Or的优先级比=赋值操作符低。 和和或具有相同的优先级,而&&的优先级高于||。
推荐文章
- 是否可以在MiniTest中运行单个测试?
- 如何在Ruby中生成a和b之间的随机数?
- 无法安装gem -未能建立gem本地扩展-无法加载这样的文件——mkmf (LoadError)
- 如何在Ruby中创建文件
- 什么是Ruby文件。开放模式和选项?
- Ruby数组到字符串的转换
- 如何分割(块)一个Ruby数组成X元素的部分?
- Ruby中“or”和||的区别?
- 如何测试参数是否存在在轨道
- 静态隐式运算符
- 逗号运算符是做什么的?
- 三元算符在R中存在吗?
- 常见的Haskell操作符是否有可发音的名称?
- 在Ruby中不创建新字符串而修饰字符串的规范方法是什么?
- RVM不是一个函数,用' RVM use…’不会起作用