婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Ruby的運算符和語句優(yōu)先級介紹

Ruby的運算符和語句優(yōu)先級介紹

熱門標簽:柯城手機地圖如何做地圖標注 漯河電銷 中牟外呼系統(tǒng)違法嗎 天津外呼系統(tǒng)怎么收費 AI電銷機器人 線路 外呼線路從哪里出來的 淮安自動外呼系統(tǒng)供應商 巫師3地圖標注魔力之所 征服者企業(yè)地圖標注

Ruby 是一種表達能力很強的語言,這得意于它異常豐富的運算符和語法糖,雖然 Ruby 一直把最小驚訝原則作為它的哲學之一,但還是常常看到讓人驚訝不已,難于理解的代碼,這可能是因為對它運算符和語句優(yōu)先級理解不透導致,今天就和大家聊一聊 Ruby 運算符和語句的優(yōu)先級。

先看一句簡單的代碼,猜一猜它的輸出是什么。

復制代碼 代碼如下:

  puts {}.class

很多人一定以為結果是 Hash,但實事上結果是空,不信可以在 irb 里試一試。

再看一段代碼。

復制代碼 代碼如下:

puts "5 3 is #{5 3}"
puts "5 and 3 is #{5 and 3}"
a = 5 3
b = 5 and 3
puts "a is #{a}"
puts "b is #{b}"

結果是:

復制代碼 代碼如下:

5 3 is 3
5 and 3 is 3
a is 3
b is 5

有沒有覺得奇怪 b 怎么是 5 而不是 3 呢。

如果這兩個例子你也覺得奇怪,那說明你對 Ruby 一些運算符和語句的優(yōu)先級理解還不透徹,判斷有誤。 puts {}.class 實際上相當于 (puts {}).class -> nil.class 所以輸出為空。{}相當于一個空的 block,優(yōu)先和方法 puts 結合。 和 and 的優(yōu)先是不同的,而且和 = 號的優(yōu)先級順序比較, > = > and,所以 a = 5 3 相當于 a = ( 5 3),而 b = 5 and 3 相當于 ( b = 5 ) and 3,所以結果 a 和 b的值是不同的。

下面一張表格是 Ruby 中常見的運算符和語句的優(yōu)先級列表,從上到下優(yōu)先級遞減。


Ruby operators (highest to lowest precedence)

幾條便于記憶的原則:

1.關鍵字類如if and 等的優(yōu)先級是要比符號類低;
2.賦值符號 = ||= 等優(yōu)先級也比較低,僅次于關鍵字類;
3.[] []= 元素引用的優(yōu)先級非常高。

標簽:甘孜 內江 大慶 南昌 棗莊 河池 克拉瑪依 西雙版納

巨人網(wǎng)絡通訊聲明:本文標題《Ruby的運算符和語句優(yōu)先級介紹》,本文關鍵詞  Ruby,的,運算符,和,語句,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Ruby的運算符和語句優(yōu)先級介紹》相關的同類信息!
  • 本頁收集關于Ruby的運算符和語句優(yōu)先級介紹的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 鞍山市| 昂仁县| 江源县| 凌源市| 东宁县| 新蔡县| 化隆| 海丰县| 柳江县| 嵩明县| 顺昌县| 建水县| 教育| 枝江市| 陈巴尔虎旗| 阜康市| 酉阳| 滦平县| 外汇| 从化市| 泉州市| 漠河县| 昌邑市| 龙口市| 青河县| 叶城县| 敦化市| 泌阳县| 光山县| 灌阳县| 武川县| 民勤县| 咸宁市| 云安县| 武川县| 泰和县| 泗水县| 长乐市| 宁陵县| 米林县| 天长市|