Ruby語言的特別之處

2021-06-11 22:58:58 字數 999 閱讀 4049

由於工作原因開始接觸ruby,發現這個所謂標榜最接近自然語言的高階語言真的毀了我對程式語言的「三觀」。自然語言的特點無非就是怎麼說都行,ruby竟然也要...看了幾天總結了一些毀三觀的東西,不喜勿噴,鄙人菜鳥,三觀脆弱。

1、ruby操控的所有內容都是物件

2、方法呼叫時,圓括號是可選的。

3、區域性變數、方法引數和方法名以小寫字母或下劃線開頭,通常用下滑線分割乙個多詞方法。類名、模組名、常量名必須以大寫字母作為首字母,通常使用大寫而不是下劃線分辨每個單詞的開始

4、使用symbol資料型別來標識事物,尤其是在命名方法引數和雜湊中查詢內容時。symbol看上去和變數名一樣,但以「:」作為字首,可以把symbol看作字串文字值literal。「:id」就是「該事物命名的id」

5、只要把每條語句放在單獨一行中就不需要在每條語句末尾加分號。

6、方法中return是可選的,如果方法中沒有這個關鍵字,返回最後乙個表示式的計算結果

7、單引號和雙引號的區別在於:單引號的情形下ruby對字串的文字值不做任何處理

8、ruby陣列和雜湊都是帶索引的集合:陣列的鍵是整數型別,雜湊的鍵可以是任何物件。兩者均可以動態增加記憶體空間存放新元素,並儲存任意型別的物件。

9、nil是物件

10、陣列中使用方法《把值追加到其接收器上

11、a=%w equals to a = [ 'ant', 'bee', 'cat', 'dog', 'elk' ]

12、ruby允許省略花括號,前提是雜湊是方法呼叫的最後乙個引數。

13、使用/pattern/和%r生成正規表示式,=~匹配運算子

14、當if、unless、while或until這些語句的主體只包含簡單表示式時,其後可緊接修飾符及條件

15、**塊是由花括號或do...end及其內部**所組成。

16、為了將**塊傳遞給方法,只要將**塊放在方法的引數後。yield可以一次或多詞呼叫**塊。&字首操作符允許方法作為命名引數抓取傳遞的**塊。

第一篇日誌,寫在末日之後,helloworld!

ringbuffer的特別之處

嗯,正如名字所說的一樣,它是乙個環 首尾相接的環 你可以把它用做在不同上下文 執行緒 間傳遞資料的buffer。我們實現的ring buffer和大家常用的佇列之間的區別是,我們不刪除buffer中的資料,也就是說這些資料一直存放在buffer中,直到新的資料覆蓋他們。這就是和維基百科版本相比,我們...

程式設計師創業的特別之處

關於程式設計師創業,我之所以願意談我的觀點,是因為我是程式設計師出身,也是從小公司做起來的,我自認為對待很多程式設計師個人包括共享軟體作者和一些小 還是很好的。我希望分享一些經驗和體會。首先,我想說的是聰明人不一定能成功,很多程式設計師很聰明,但我一看就知道他們不會成功。因為我看到了一些問題,而且現...

TestNG引數化有何特別之處

testng作為j a技術棧乙個極其強大的測試框架,想必在引數化這塊也有一定的特別之處,本文就來根據官方文件,對testng引數化進行一 竟。testng引數化有兩種方式,第一種是從testng.xml讀取資料,第二種是通過 讀取資料。直接看示例 parameters test public voi...