程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 更多關於編程 >> 詳解Ruby當中的算數運算

詳解Ruby當中的算數運算

編輯:更多關於編程

       Ruby支持一系列豐富的運算符的一個現代化的語言。大多數運算符實際上是方法調用。例如,a + b的被解釋為a,

      +(b)變量引用的對象的方法被稱為一個用b作為它的參數。

      對於每個運算符 (+ - * / % ** & | ^ << >> && ||), 有相應的賦值運算符縮寫形式 (+= -= 等)

      Ruby算術運算符:

      假設變量a=10,變量b=20:

    201551292317953.jpg (586×414)

      Ruby比較操作符:

      假設變量a=10,變量b=20:

    201551292359303.png (586×898)

      Ruby賦值運算符:

      假設變量a=10,變量b=20:

    201551292426433.png (573×809)

      Ruby並行賦值:

      Ruby還支持並行賦值的變量。這使得多個一行Ruby代碼來初始化變量。例如:

      ?

    1 2 3 a = 10 b = 20 c = 30

      需要更迅速聲明,使用並行賦值:

      ?

    1 a, b, c = 10, 20, 30

      並行賦值交換兩個變量的值也是有用的:

      ?

    1 a, b = b, c

      Ruby位運算符:

      位運算符位和位操作執行位。

      假設當a =60和b=13;現在以二進制格式將如下:

      ?

    1 2 3 4 5 6 7 8 9 10 11 12 13 a = 0011 1100   b = 0000 1101   -----------------   a&b = 0000 1100   a|b = 0011 1101   a^b = 0011 0001   ~a = 1100 0011

      支持Ruby語言的位運算符

    201551292459659.jpg (583×540)

      Ruby邏輯運算符:

      支持Ruby語言的邏輯運算符

      假設變量a=10,變量b=20:

    201551292600791.jpg (592×612)

      Ruby三元運算符:

      還有一個運算符稱為三元運算符。這首先計算一個表達式為true或false值,然後執行一個計算結果來決定兩個語句的哪一個。條件運算符的語法如下:

    201551292637298.jpg (601×134)

      Ruby范圍運算符:

      Ruby中的序列范圍是用來創建連續值 - 組成了開始值/結束值,並在兩者之間的值的范圍內。

      在Ruby中,創建這些序列使用“..”和“...”范圍運算符。這兩個點的形式建立一個包容性的范圍,而三個點的形式創建了一個范圍,不包括指定的最大值。

    201551292848887.jpg (610×190)

      Ruby defined? 操作符:

      defined是一個特殊的操作符采取的形式的方法調用,以確定是否通過表達式定義。如果沒有被定義的表達式,它返回一個描述字符串求解出的表達式或nil

      有很多種用法 defined操作符:

      用法 1

      ?

    1 defined? variable # True if variable is initialized

      例如 :

      ?

    1 2 3 4 foo = 42 defined? foo # => "local-variable" defined? $_ # => "global-variable" defined? bar # => nil (undefined)

      用法 2

      ?

    1 defined? method_call # True if a method is defined

      例如 :

      ?

    1 2 3 defined? puts # => "method" defined? puts(bar) # => nil (bar is not defined here) defined? unpack # => nil (not defined here)

      用法 3

      ?

    1 2 # True if a method exists that can be called with super user defined? super

      例如 :

      ?

    1 2 defined? super # => "super" (if it can be called) defined? super # => nil (if it cannot be)

      用法 4

      ?

    1 defined? yield # True if a code block has been passed

      例如 :

      ?

    1 2 defined? yield # => "yield" (if there is a block passed) defined? yield # => nil (if there is no block)

      Ruby "." 雙冒號 "::" 運算符:

      調用一個模塊方法,通過模塊的名稱和句點它的名字前,引用一個常數使用該模塊的名稱和兩個冒號。

      ::使得一元運算符,常數,實例方法和類方法在類或模塊定義,從任何地方訪問外的類或模塊。

      請記住:在Ruby中,類和方法可以被視為常數。只需要前綴::Const_name的表達式返回相應的類或模塊對象。

      如果沒有前綴表達式時,主要對象類默認情況下使用。

      這裡有兩個例子:

      ?

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 MR_COUNT = 0 # constant defined on main Object class module Foo MR_COUNT = 0 ::MR_COUNT = 1 # set global count to 1 MR_COUNT = 2 # set local count to 2 end puts MR_COUNT # this is the global constant puts Foo::MR_COUNT # this is the local "Foo" constant   Second Example:   CONST = ' out there' class Inside_one CONST = proc {' in there'} def where_is_my_CONST ::CONST + ' inside one' end end class Inside_two CONST = ' inside two' def where_is_my_CONST CONST end end puts Inside_one.new.where_is_my_CONST puts Inside_two.new.where_is_my_CONST puts Object::CONST + Inside_two::CONST puts Inside_two::CONST + CONST puts Inside_one::CONST puts Inside_one::CONST.call + Inside_two::CONST

      Ruby運算符優先級

      下表列出了所有運算符從最高優先級到最低。

    201551293021971.jpg (589×741)

      注: 方法列一個是運算符實際上是方法,因此可能會被改寫。

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved