Ruby基础教程5.8 总结_Ruby基础教程5.8 总结试读-查字典图书网
查字典图书网
当前位置: 查字典 > 图书网 > 编程 > Ruby基础教程 > 5.8 总结

Ruby基础教程——5.8 总结

本章介绍了以下内容。 ◎真假值 真假值是条件表达式的返回值。 ● nil 或者 false 时为假 ● 除此以外的值为真 ◎条件判断语句 条件判断语句有: ● if 语句 ● unless 语句 ● case 语句 ◎比较 用 if 语句、unless 语句做比较时,会用到比较运算符(= =,!=,<,> 等)、以 ? 结尾的 方法、逻辑运算符等。 ◎if 语句、unless 语句 两者皆为条件判断的基本语句。 ◎case 语句 在遇到像“根据对象的不同状态,采取不同的处理 ”那样的分情况处理时,我们会用到 case 语句。 分情况处理时,不同的对象所采取的判断方法也不一样。具体来说是根据 = = = 运算符的比 较特性,实现分情况处理。更详细的说明请参考专栏“= = = 与 case 语句”。 大部分的编程语言都有条件判断。本书也在很多地方使用了条件判断。大家可以参考这些内 容,逐渐熟练掌握什么时候该用哪种条件判断语句。 专栏 对象的同一性 所有的对象都有标识和值。 标识(ID)用来表示对象同一性。Ruby 中所有对象都是唯一的,对象的 ID 可以通 过 object_id (或者 _ _id_ _ )方法取得。 ary1 = [] ary2 = [] p ary1.object_id #=> 67653636 p ary2.object_id #=> 67650432 我们用 equal? 方法判断两个对象是否同一个对象(ID 是否相同)。 str1 = "foo" str2 = str1 str3 = "f" + "o" + "o" p str1.equal?(str2) #=> true p str1.equal?(str3) #=> false 对象的“值”就是对象拥有的信息。例如,只要对象的字符串内容相等,Ruby 就会认 为对象的值相等。Ruby 使用 = = 来判断对象的值是否相等。 str1 = "foo" str2 = "f" + "o" + "o" p str1 = str2 #=> true 除了 = = 以外,Ruby 还提供 eql? 方法用来判断对象的值是否相等。= = 与 eql? 都是Object 类定义的方法,大部分情况下它们的执行结果都是一样的。但也有例外,数值类会重定义 e ql? 方法,因此执行后有不一样结果。 p 1.0 = = 1 #=> true p 1.0.eql?(1) #=> false 凭直觉来讲,把 1.0 与 1 判断为相同的值会更加方便。在一般情况进行值的比较 时使用 = =,但是在一些需要进行更严谨的比较的程序中,就需要用到 eql? 方法。例如,0 与 0.0 作为散列的键时,会判断为不同的键,这是由于散列对象内部的键比较使用 了 eql? 方法来判断。 hash = { 0 => "0"} p hash[0.0] #=> nil p hash[0] #=> "0"

展开全文

推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

《Ruby基础教程》其他试读目录

• 4.1 对象
• 4.2 类
• 4.3 变量
• 4.4 常量
• 4.5 保留字
• 4.6 多重赋值
• 5.1 什么是条件判断
• 5.2 Ruby 中的条件
• 5.3 逻辑运算符
• 5.4 if 语句
• 5.5 unless 语句
• 5.6 case 语句
• 5.7 if 修饰符与 unless 修饰符
• 5.8 总结 [当前]