zoukankan      html  css  js  c++  java
  • 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

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

  • 相关阅读:
    微信开发生成带参数的二维码的讲解
    C#利用最新版的WPS实现导入导出
    【模版消息】C#推送微信模版消息(Senparc.Weixin.MP.dll)
    Photoshop的辅助线
    Newtonsoft.Json 两个Attribute含义
    VUE2.0 饿了吗视频学习笔记(二):新版本添加路由和显示Header
    VUE2.0 饿了吗视频学习笔记(一):VUE示例data.json
    Windows句柄数限制
    The CLI moved into a separate package: webpack-cli.解决办法
    Winform窗体设计工具源码
  • 原文地址:https://www.cnblogs.com/scotth/p/3159980.html
Copyright © 2011-2022 走看看