麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Ruby > 正文

詳解Ruby的運算符和語句優先級

2020-02-24 15:38:15
字體:
來源:轉載
供稿:網友

Ruby是一種非常有表現力的語言,它以其豐富的運算符和語法而自豪,盡管Ruby是將最小驚喜原則視為其哲學之一,今天武林技術頻道小編將討論詳解Ruby的運算符和語句優先級,一起來看看吧!

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

?

復制代碼 代碼如下:

? 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 #"


結果是:

?

?

復制代碼 代碼如下:

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

?

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

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

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


Ruby operators (highest to lowest precedence)

幾條便于記憶的原則:

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

以上就是關于詳解Ruby的運算符和語句優先級,要想知道更多的技術知識,大家需要去做多方了解,武林技術頻道是你的滿意選擇,大家可以放心閱覽。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 特级毛片a级毛片100免费 | 国产91亚洲精品久久久 | 性欧美性欧美 | 国产91亚洲精品一区二区三区 | 国产精品啪一品二区三区粉嫩 | 国产精品久久久久av | 国产毛片毛片毛片 | 在线观看免费毛片视频 | 九九热九九爱 | 成人免费精品视频 | 日美黄色片 | 欧美激情在线播放 | 欧美精品成人一区二区在线观看 | 成人aaaaa片毛片按摩 | 亚洲一区二区中文字幕在线观看 | 一级大黄毛片 | 国产精品久久久久久久午夜片 | 精品亚洲成a人在线观看 | 亚洲午夜精品视频 | 嫩草影院在线观看网站成人 | 国产成人综合在线视频 | 欧美成人高清在线 | 黄色免费在线网址 | 欧美另类激情 | 日本在线免费观看视频 | 亚洲无毛av | 91 在线免费观看 | 欧美成人精品欧美一级乱黄 | 国产一区免费 | 成人做爰s片免费看网站 | 狠狠干导航 | 视频一区 在线 | 久章草影院 | 亚洲骚图| 97久久曰曰久久久 | 曰韩av在线| 久久久久久久一区二区 | 国产精品av久久久久久久久久 | 91社影院在线观看 | 久久久久国产成人免费精品免费 | 亚洲综合视频网 |