#【比较运算符】=begin<=> 联合比较运算符,相等返回0;第一个数大返回1;第二个数大返回-1== 值相等.eql? 类型相同且值相等.equal? 是否具有相同的对象ID(内存地址是否相同)=== 判断是否具有相同的类,或父类 判断两个实例对象是否具有血缘关系。另一种说法 判断case 语句的 when 子句内的 相等=end puts 1 == 1.0 #true puts 1 === 1.0 #trueputs 1 === "abc" #falseputs (1...10) === 5 #trueputs (1...10) === 3 #trueputs (1..3) === 3 #trueputs (1...3) === 3 #false puts 1.eql?(1) #trueputs 1.eql?(1.0) #false puts 1.equal?(1) #trueputs 1.equal?(1.0) #false a = 1b = aA = ‘ABC‘B = AAA = "A"BB = AA + ""print "a‘s ID : ",a.object_id,"\n"print "b‘s ID : ",b.object_id,"\n"print "A‘s ID : ",A.object_id,"\n"print "B‘s ID : ",B.object_id,"\n"print "AA‘s ID : ",AA.object_id,"\n"print "BB‘s ID : ",BB.object_id,"\n"print ‘AA == BB : ‘,AA == BB,"\n"print ‘AA.eql?(BB) : ‘,AA.eql?(BB),"\n"print ‘AA.equal?(BB) : ‘,AA.equal?(BB),"\n"print ‘a.equal?(1) : ‘, a.equal?(1),"\n"print ‘b.equal?(1) : ‘,b.equal?(1),"\n"print ‘a.equal?(b) : ‘,a.equal?(b),"\n"print ‘1.equal?(a) : ‘,1.equal?(a),"\n"print ‘1.equal?(b) : ‘,1.equal?(b),"\n"print ‘A.equal?(B) : ‘,A.equal?(B),"\n"=begina‘s ID : 3b‘s ID : 3A‘s ID : 70215304749280B‘s ID : 70215304749280AA‘s ID : 70215304749260BB‘s ID : 70215304749180AA == BB : trueAA.eql?(BB) : trueAA.equal?(BB) : falsea.equal?(1) : trueb.equal?(1) : truea.equal?(b) : true1.equal?(a) : true1.equal?(b) : trueA.equal?(B) : true=end #【Ruby defined运算符】 以方法调用的形式判断传递的表达式是否已定义。返回表达式的描述字符串,如果表达式未定义则返回nil.foo = 42puts defined? foo #local-variableputs defined? $_ #global-variableputs defined? bar #打印了一个空行 puts defined? puts #methodputs defined? puts(var)#打印了一个空行puts defined? unpack #打印了一个空行 #【Ruby 中的.运算符 和 :: 运算符】通过在方法名称前加上类或模块名称和 . 来调用类或模块中的方法。你可以使用类或模块名称和两个冒号 :: 来引用类或模块中的常量#例子# 定义在主Object类上的常量MR_COUNT = 0module Foo MR_COUNT = 0 #设置全局计数为1 ::MR_COUNT = 1 #设置局部计数为2 MR_COUNT = 2end puts MR_COUNT #1puts Foo::MR_COUNT #2 #例子CONST = ‘ out there ‘class Inside_one end
原文地址:https://www.cnblogs.com/suren2017/p/9261504.html
时间: 2024-10-12 21:41:21