`
cxh116
  • 浏览: 76513 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论

ruby unless的使用

阅读更多
好吧  我蠢  到今天才搞懂这个问题

ruby unless 表达式在条件为false才运行代码块,但其与条件"&& ||"逻辑组合使用一直没有搞懂.到底是false && false才运行unless的代码块,还是 false || false才继续运行.

其实这个问题很简单,只是一直没有想过这一点.unless只管条件是false还是true,至于是不是使用了 && 或 || 操作符,是不管的.
&&逻辑符,还是只有在前面条件为真时,才运行后面的条件

puts 'ok' unless 1 && nil #整个条件表达式返回nil,那么unless条件成立,打印出ok
puts 'ok' unless 1 || nil #整个条件表达式返回1,不成立,无打印输出
puts 'ok' unless nil || false #整个条件表达式返回false,成立,打印ok
分享到:
评论
1 楼 zj0713001 2012-03-17  
LZ明白 if  肿么就不明白unless 话说我刚学的时候 也是转不过弯来  哈哈

相关推荐

    ruby使用文档

    本使用文档详尽地介绍了Ruby的API类库,是学习和掌握Ruby编程的重要资源。以下是一些关键知识点的概述: 1. **变量与数据类型**: - Ruby中的变量分为局部变量、实例变量、类变量和全局变量,它们都有特定的标识符...

    ruby-使用ruby实现的算法之冒泡排序.zip

    本资料包“ruby-使用ruby实现的算法之冒泡排序.zip”专注于讲解如何使用Ruby来实现经典的冒泡排序算法,这对于理解排序算法以及提升Ruby编程技能非常有帮助。 冒泡排序是一种基础且直观的排序算法,它通过重复遍历...

    ruby语法基础教程及Ruby教程中文版和安装文件

    Ruby提供了条件语句(如`if`和`unless`)、循环(如`for`、`while`和`until`)以及`case`语句。例如: ```ruby # 条件语句 if num > 0 puts "这是一个正数" elsif num puts "这是一个负数" else puts "这是一个...

    ruby语言帮助文档(简体中文)

    4. **控制结构**:Ruby有各种控制结构,包括条件语句(if/else/unless)、循环(for、while、until、each)、和异常处理(begin/rescue/ensure/else)。 5. **块和闭包**:Ruby的块是代码段,可以通过`do..end`或`{...

    ruby学习的源码

    - 控制结构:包括条件语句(如if、unless)、循环(如for、while、until、each)和流程控制(break、next、redo、retry)。 2. **Ruby on Rails核心概念**: - ActiveRecord:Rails的ORM(对象关系映射),它将...

    ruby的惯用法的使用

    - 在Ruby中,可以使用管道符号`|`来表示对象的方法调用。虽然示例中没有具体说明,但通常是指利用方法链或方法的隐式传递。 ```ruby # 示例:获取对象属性 user.name # 相当于 user |&> name ``` **5. 单元...

    Ruby In a Nutshell

    - Ruby中的函数定义使用`def`关键字,可以接收参数,并支持默认值、可变数量的参数和块参数。 - 方法调用可以使用点操作符或括号,根据上下文自动推断。 4. **类和对象** - Ruby是纯面向对象的语言,一切皆为...

    Ruby - Ruby for Rails

    - **条件语句**:讲解 if、unless 等条件语句的使用方法。 - **循环结构**:介绍 while、for、each 等循环语句,以及它们之间的区别。 - **异常处理**:探讨 Ruby 中的异常处理机制,包括 raise 和 rescue 关键字的...

    Ruby 基础

    Ruby允许程序员使用自然语言般的表达方式编写代码,这使得代码更易于阅读和理解。例如,变量在Ruby中无需声明类型,只需用`var_name = value`来赋值。Ruby有四种基本的变量类型:局部变量(以小写字母或_开头)、...

    04Ruby 条件判断.docx

    在Ruby中,主要的条件判断语句包括 **if...else**、**unless** 和 **case** 语句。 ##### 1. **if...else 语句** - **语法**: ```ruby if conditional # code... elsif conditional # code... else # code...

    关于ruby学习的资料

    3. 控制结构:学习如何使用循环(如`for`、`while`和`each`)、条件语句(如`if`、`unless`)和异常处理(如`begin-rescue-end`)。 4. 核心库和标准库:了解Ruby内置的库和模块,如`Enumerable`、`File`和`Net`。 ...

    ruby 中文 教程 从入门到精通

    #### 三、Ruby的安装与使用 - **下载与安装**:Ruby的安装可以通过官方渠道获取最新版本,例如Ruby 1.8.5版本。对于Windows系统,安装过程较为直观简单,按照提示即可完成。 - **编写第一个程序**:创建一个简单的...

    ruby开发文档

    7. **控制结构**:Ruby有多种控制结构,包括条件语句(if/else/unless)、循环(for、while、until、times)和迭代器(each、map等)。Ruby的case语句支持模式匹配。 8. **异常处理**:Ruby使用`begin/rescue/else/...

    Ruby完全自学手册光盘里的源代码

    2. 控制结构:Ruby中的条件语句(如if/else、unless)和循环(如while、for、each)是控制程序流程的关键。在源代码中,你会看到这些结构的实际应用。 3. 函数:Ruby中的函数定义简单直观,可以用于封装可重用的...

    Ruby语言规范

    本文档旨在为使用Ruby编程的语言规范提供指导。这些规范旨在提高代码的可读性和维护性,并确保团队内部的编程风格一致性。 #### 源代码整形 ##### 代码缩进 - **缩进幅度**:建议使用2个字符作为缩进单位,这有助...

    ruby语法自整理

    - `if`和`unless`:用于条件判断,`unless`相当于`if not`。 - `while`循环:在条件满足时重复执行代码块。 - `until`循环:在条件不满足时重复执行代码块。 - `for`循环:常用于遍历数组或集合。 - `each`循环...

    net-ssh远程访问linux ruby

    标题中的“net-ssh远程访问linux ruby”指的是Ruby编程语言中使用Net::SSH库来实现对Linux系统的远程访问。Net::SSH是Ruby的一个开源库,它提供了SSH2协议的实现,允许开发者通过SSH协议安全地执行命令、传输文件等...

    为何Ruby 1.9的不兼容性会导致原有Ruby代码无法工作

    1. **语法调整**:如在`if`、`unless`和`case`语句中,不再允许使用冒号`: `替代`then`关键字。 2. **数据类型转换**:`instance_variables`和`constants`等反射方法返回的不再是字符串数组,而是符号数组。 3. **...

Global site tag (gtag.js) - Google Analytics