a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > Ruby > 正文

詳解Ruby當中的算數(shù)運算

2020-10-29 19:40:03
字體:
來源:轉載
供稿:網(wǎng)友

 Ruby支持一系列豐富的運算符的一個現(xiàn)代化的語言。大多數(shù)運算符實際上是方法調用。例如,a + b的被解釋為a,
+(b)變量引用的對象的方法被稱為一個用b作為它的參數(shù)。

對于每個運算符 (+ - * / % ** & | ^ << >> && ||), 有相應的賦值運算符縮寫形式 (+= -= 等)
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代碼來初始化變量。例如:

a = 10b = 20c = 30

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

a, b, c = 10, 20, 30

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

a, b = b, c

Ruby位運算符:

位運算符位和位操作執(zhí)行位。

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

a = 0011 1100b = 0000 1101-----------------a&b = 0000 1100a|b = 0011 1101a^b = 0011 0001~a = 1100 0011

支持Ruby語言的位運算符

201551292459659.jpg (583×540)

 Ruby邏輯運算符:

支持Ruby語言的邏輯運算符

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

201551292600791.jpg (592×612)

 Ruby三元運算符:

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

201551292637298.jpg (601×134)

 Ruby范圍運算符:

Ruby中的序列范圍是用來創(chuàng)建連續(xù)值 - 組成了開始值/結束值,并在兩者之間的值的范圍內。

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

201551292848887.jpg (610×190)

 Ruby defined? 操作符:

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

有很多種用法 defined操作符:
用法 1

defined? variable # True if variable is initialized

例如 :

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

用法 2

defined? method_call # True if a method is defined

例如 :

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

用法 3

# True if a method exists that can be called with super userdefined? super

例如 :

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

用法 4

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

例如 :

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

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

調用一個模塊方法,通過模塊的名稱和句點它的名字前,引用一個常數(shù)使用該模塊的名稱和兩個冒號。
::使得一元運算符,常數(shù),實例方法和類方法在類或模塊定義,從任何地方訪問外的類或模塊。
請記住:在Ruby中,類和方法可以被視為常數(shù)。只需要前綴::Const_name的表達式返回相應的類或模塊對象。
如果沒有前綴表達式時,主要對象類默認情況下使用。
這里有兩個例子:

MR_COUNT = 0    # constant defined on main Object classmodule Foo MR_COUNT = 0 ::MR_COUNT = 1  # set global count to 1 MR_COUNT = 2   # set local count to 2endputs MR_COUNT    # this is the global constantputs Foo::MR_COUNT # this is the local "Foo" constantSecond Example:CONST = ' out there'class Inside_one  CONST = proc {' in there'}  def where_is_my_CONST   ::CONST + ' inside one'  endendclass Inside_two  CONST = ' inside two'  def where_is_my_CONST   CONST  endendputs Inside_one.new.where_is_my_CONSTputs Inside_two.new.where_is_my_CONSTputs Object::CONST + Inside_two::CONSTputs Inside_two::CONST + CONSTputs Inside_one::CONSTputs Inside_one::CONST.call + Inside_two::CONST

Ruby運算符優(yōu)先級

下表列出了所有運算符從最高優(yōu)先級到最低。

201551293021971.jpg (589×741)

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

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 国产免费av在线 | 精品国产乱码久久久久久闺蜜 | 九九亚洲| 欧美成人一区二区 | 在线观看成人精品 | 一区二区影院 | 欧美久久久久久久久中文字幕 | 久久成人免费视频 | 亚洲免费综合 | 日韩另类 | 日韩视频一区 | 亚洲最大久久 | 免费视频99 | 国产一区二区三区免费在线 | 一本大道久久a久久精二百 精品一区二区三区免费毛片爱 | jizzjizz亚洲中国少妇 | 日韩精品一区二区三区在线 | www.久草.com | 天堂网av2020 | 日韩精品网站在线观看 | 国产无遮挡呻吟吸乳视频 | 国产在线专区 | 欧美在线观看网站 | 亚洲高清视频网站 | www.色网 | 亚洲成人av在线 | 免费毛片网 | av在线免费播放 | 久久久国产一区 | 偷拍亚洲视频 | 91久久精品一区二区二区 | 欧美亚洲视频在线观看 | 日韩精品久久久久久 | 青娱乐久久 | 嫩草研究院在线观看入口 | 麻豆色呦呦 | 青草av在线 | 一区二区三区精品视频 | 中文字幕视频在线播放 | 天堂动漫 | 久久成人综合 |