ruby编程语言-学习笔记3(第4章 表达式和操作符)

4.6 操作符

了解优先级很重要

 

位移操作符

(0b1011)<< 1       #   ==> "10110"      11 << 1 = 22

(0b10110)>> 2     #   ==> "101"      11 << 1 = 5

追加操作符

一些String 、Arrray、还有一些IO库Queue、Logger  都支持追加操作符

message_1 = "hello"    #hello

message_2 = []    #empty

message_1  << "world"   # append string,      message_1 =  helloworld

message_2 = message_1  # append a array

STDOUT << message_2   #print the message  to standard output stream

 

4.6.5  与&、或|、非~    操作符  (全与C++一样)

&  二进制数,相同 0为0,相同1为1, 不同为0       #  0b1010 & 0b1100   => 1000

|   二进制数,相同 0为0,相同1为1, 不同为1   #  0b1010 | 0b1100   => 1110

~  二进制数,  1变0, 0 变1           #  0b1010 & 0b1100   => 110

^  异或, 2个操作二进制数对应的位中,仅只有一个为1,才是1

 

 4.6.6 比较操作符  >、 >=、 <、 <= 、 == 、<=> 

a <=> b      #若a>b ,则返回+1 或 大于0的值;

          若a<b ,则返回0 或 小于0的值;

           若a与b不能比较,则返回nil

 

Module  《comparable》

Module  也可以表示和 子类 的关系操作符

Module是Class的超类!

 

Class A < B     #声明 Class A 为Class B的 子类

 

String < Object    #true:String 是Object 细化的对象

Numeric < Object   #true:Numeric 是Object 细化的对象

Numeric < Integer   #false: Numeric is not more specialized than Integer  , Numeric 不是Integer的子类

String < Numeric   #nil : string  and Numeric are not related

 

接着是优先级了,代码规范点这个都不用看。

 

 

posted @   scott_h  阅读(211)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示