全方位探讨Ruby布尔表达式

开发 开发工具
Ruby布尔表达式不同于其他一般的布尔表达式,Ruby语言操作符返回的是首个决定条件真伪的参数值。而并不是true或false。

Ruby语言是一款完全面向对象的解释型脚本语言。它从出现就倍受编程人员的关注。其特殊性能是非常值得我们关注的。在这里我们就为大家详细介绍其中的Ruby布尔表达式相关知识。#t#

Ruby 对 "真" 的定义很简单:任何不是 nil 或者 false 的值都是 true,所以下面的演示中,尽管 line 的值是字符串,依然可以完成整个循环。

 

  1. while line 
    = gets  
  2. puts line  
  3. end 

Ruby布尔表达式判断采取 "短路求解"(当第一个操作书符合或不符合时,放弃后续判断),同时定义了新的操作符 "defined?" 来判断参数是否已经被定义。

 

  1. puts defined?(a)  
  2. a = 1  
  3. puts defined?(a) 

输出:

nil
local-variable

如果参数未定义,defined? 返回 nil,否则返回一个标记字符串。

Ruby布尔表达式和我们所习惯的布尔表达式不同的是,Ruby 操作符 &&、and、||、or 返回首个决定条件真伪参数值,而不是 true 或 false。

puts "a" && "b" # a 为真,所以决定表达式真伪的是 b,返回 b。
puts nil && "b" # nil 导致短路求解,故返回 nil。
puts "a" || "b" # 同样是短路求解,返回 a。

责任编辑:曹凯 来源: ddvip.com
相关推荐

2010-01-05 17:46:04

.NET Framew

2009-12-15 10:10:42

Ruby过程对象

2009-12-14 11:33:59

Ruby正则表达式

2009-12-16 17:07:27

Ruby on Rai

2009-12-15 10:48:54

Ruby局部变量

2009-12-14 17:04:13

Ruby读写UNIX命

2010-07-09 09:11:33

Ruby正则表达式

2009-11-06 15:48:51

互联网接入

2010-01-05 14:45:58

.NET Framew

2009-12-17 10:39:01

Ruby数学表达式

2009-12-15 09:43:50

Ruby case w

2009-11-18 18:23:36

无线路由器

2009-12-15 17:28:11

Ruby自动化脚本框架

2009-09-16 18:16:34

正则表达式

2010-09-07 16:51:22

SQL语句表达式

2017-09-13 15:37:53

2010-03-12 14:51:47

Python布尔表达式

2009-12-18 13:57:35

Ruby正则表达式

2014-01-05 17:41:09

PostgreSQL表达式

2009-11-30 17:06:35

PHP ereg()函
点赞
收藏

51CTO技术栈公众号