• 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

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

  • 相关阅读:
    构建之法十五
    十二周学习总结笔记
    构建之法十四
    构建之法十一
    构建之法十三
    用户体验评价
    构建之法第十章
    十一周总结学习笔记
    找水王
    十周总结学习笔记
  • 原文地址:https://www.cnblogs.com/scotth/p/3159980.html
Copyright © 2020-2023  润新知