`
zhaoningbo
  • 浏览: 619259 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ruby的逻辑运算符and与&&

    博客分类:
  • os
阅读更多
ruby中,and与&&是有区别的,而且不在“短路”运算上。看例子:
puts true and false
puts (true and false)
puts true && false
puts true & false
////~>
true
false
false
false

翻资料发现ruby1.8.7有这么个说法:
引用

Use &&/|| for boolean expressions, and/or for control flow. (Rule of thumb: If you have to use outer parentheses, you are using the wrong operators.)
2
1
分享到:
评论
1 楼 ipenglei 2014-10-20  
优先级的区别 :

puts true and false  #相当于 (puts true) and false  
puts (true and false)  
puts true && false  #相当于 puts (true && false)
puts true & false  #相当于 puts (true & false)


加括号吧

相关推荐

    Ruby的运算符和语句优先级介绍

    Ruby中的运算符包括算术运算符、关系运算符、逻辑运算符、条件运算符等。每种运算符都有其固有的优先级。例如,算术运算符中的乘法(*)和除法(/)优先于加法(+)和减法(-)。逻辑运算符中的"&&"(逻辑与)优先级高于"||...

    ruby基础教程(第四版)第9章 运算符1

    在第9章“运算符1”中,我们主要探讨了两种逻辑运算符:`||`(或)和`&&`(与),以及条件运算符(三元运算符)和范围运算符。此外,还提到了如何在Ruby中自定义运算符。 首先,`||`运算符,也称为逻辑或运算符,它...

    Ruby Quick Syntax Reference.pdf

    Ruby支持多种运算符,包括算术运算符、关系运算符、逻辑运算符等。这一章节会展示如何在Ruby程序中运用这些运算符。 第3章:Ruby中的字符串操作。在Ruby中,字符串是一个重要的数据类型,本章将介绍如何创建和操作...

    Ruby的语法和语言特性总结

    Ruby的逻辑运算符`and`(`&&`)和`or`(`||`)具有短路特性,而`&`和`|`则会始终计算整个表达式。例如,`x = x + 1 while x 会将`x`增加到10。 1.3 鸭子类型 Ruby是动态类型语言,类型检查发生在运行时。这意味着在...

    ruby学习笔记

    - `and` 和 `or`:简单的逻辑运算符。 - `not`:逻辑非运算符。 - `&&` 和 `||`:短路逻辑运算符,在处理复杂的逻辑条件时更为高效。 ### 八、控制结构 #### 1. if-elsif-else 结构 Ruby 的 `if` 语句支持 `elsif...

    详细解读Ruby当中的条件判断语句

    在Ruby中,我们可以使用逻辑运算符`&&`(and)、`||`(or)以及`!`(not)来组合条件。需要注意的是,`&&`和`||`具有短路行为,即如果前一个表达式足以确定整个表达式的结果,那么就不会再评估第二个表达式。 条件判断...

    RUBY基础入门指南

    支持常见的算术、比较和逻辑运算符。 ```ruby result = 1 + 2 # 结果为 3 ``` **6.2 命令替换** 可以在双引号字符串中使用命令替换。 ```ruby output = `echo "Hello, World!"` ``` **6.3 赋值运算符** 支持...

    Ruby Sheet.pdf

    - **and**:逻辑与运算符。 - **BEGIN**:块会在程序开始运行时执行。 - **begin/end**:定义一个代码块,其中可以包含异常处理。 - **break**:跳出循环。 - **case/when/else/end**:多条件分支语句。 - **class**...

    Ruby学习思维导图.pdf

    - **逻辑运算符**:如 `&&`, `||`, `!` 等。 - **赋值运算符**:如 `=`, `+=`, `-=`, `*=`, `/=` 等。 - **位运算符**:如 `|`, `&`, `^`, `, `>>` 等。 **1.4 控制结构** - **条件语句** - **if**:根据条件执行...

    LittleBookOfRuby

    - **逻辑运算符**:用于组合多个条件表达式的逻辑运算符。 #### 3. if...elsif... - **多重条件分支**:支持多个条件分支的if语句。 #### 4. unless - **unless语句**:当条件为假时执行代码块。 ### 第九部分:...

    Ruby中一些基本语法知识点的罗列汇总

    本文档旨在对Ruby中的一些基本语法知识点进行归纳总结,特别是注释与标识符等方面的基础内容。 #### 二、Ruby程序结构 在开始探讨具体的语法细节前,我们首先来看一个简单的Ruby程序示例: ```ruby #!/usr/bin/...

    GitHub倡导的Ruby代码编写风格总结

    4. **布尔操作**:使用`&&`和`||`进行布尔逻辑操作,保留`and`和`or`用于流程控制。 5. **条件判断**:避免在`if else`内部再使用三元运算符。 6. **条件语句**:使用`when X then`而非已废弃的`when x.`语法。 7. *...

    初步了解一下什么是ruby

    - 逻辑判断 `not`, `and`, `or` 用于组合条件。 - `true`, `false`, `nil` 是Ruby中的布尔值和空值。 2. **异常处理**: - `rescue` 用于捕获和处理异常。 - `ensure` 确保无论是否发生异常,都会执行的代码块...

    Python编程教程

    - **逻辑运算符**: and、or、not。 - **成员运算符**: in、not in。 - **身份运算符**: is、is not。 - **位运算符**: 按位与、按位或、按位异或、按位取反、左移、右移。 **3.4 控制结构** - **条件语句**: if、...

    Basics.Of.Compile.Design

    Ajax,即Asynchronous JavaScript and XML,是一种用于创建交互式网页应用的技术,JavaScript作为其主要语言,是解释执行的,但也有JIT(Just-In-Time)编译的概念;Ruby是一种动态类型的脚本语言,它的编译过程相对...

    Python基础小常识

    **运算符优先级与分组**: - 建议使用圆括号来明确表达运算顺序,增强代码可读性。 - 赋值运算符(如`=`)是从右向左进行结合的,例如`a = b = c`等同于`a = (b = c)`。 #### 五、控制流 **条件语句**: - Python中...

    xpath+APPIUM

    同时,XPath 还支持逻辑运算符(如 `and` 和 `or`)和函数,如 `contains()`, `starts-with()`, `ends-with()`,这些在处理复杂的元素定位时非常有用。 接下来,我们谈谈 Appium 的应用。Appium 支持多种编程语言,...

Global site tag (gtag.js) - Google Analytics