Ruby概述 – Ruby特性與語法簡介

 最近在瀏覽Ruby的一些資源文檔,逛到了rubylearning.com。發現這裏提供的Ruby Summary還不錯,對準備學習Ruby,希望先了解Ruby的特性的朋友有所幫助。並且沒有發現國內有譯版,於是決定用邊翻譯邊學習的方法再過一遍Ruby基礎,所以就有了這個的譯版。

 

Ruby Summary一共有8個頁面,這是第一個,我會在這幾天抽時間儘快逐一完成翻譯。有些內容爲了更通俗易懂而夾雜了一些我的理解,如果你發現哪裏有翻譯不妥或與原文有出入的地方,請聯繫我或留言。希望我不會誤人子弟。

  1. 這些內容是基於Windows平臺上1.9版本的Ruby的,不過也同樣適用於Mac與Linux。
  2. Ruby是一種解釋性語言。
  3. 在Ruby中,總有超過一種解決問題的辦法。
  4. 代碼佈局很大程度決定於你;縮進並不重要,但如果你想把代碼分享給你社區裏的朋友,那可以使用兩個字符的縮進。
  5. 慣例上,Ruby的源文件使用.rb作爲文件後綴。但在Windows裏,Ruby的源文件有時用.rbw作爲擴展名像myscript.rbw。
  6. Ruby的程序是自上向下執行的。
  7. 幾個特點:格式自由、區分大小寫,兩種備註方式,變量在使用前無需聲明,有大約41個關鍵字。
  8. 可能你覺得0、空字符串、null或其他什麼的應該等於false。但是在Ruby裏,這些值都是true;事實上,除了false和nil,其他所有的都是true。
  9. 這裏有一些文檔供你參考。
  10. puts(裏的s指的是string,puts的真實意思是put string)不論後邊跟的是什麼,都會簡單的輸出到屏幕上,但是輸出完了它自動將光標定位到下一行。
  11. 在方法調用裏,括號經常是可選的,下面這幾個調用都是有效的:
    foobar
    foobar()
    foobar(a, b, c)
    foobar a, b, c
  12. Ruby裏的沒有小數點的數字叫integer(整型),有小數點的經常被叫做floating-point numbers(浮點數字),再簡單點就叫float(注意你必須在小數點前留一個數字,.14 在Ruby裏是不好使的)。
  13. 記錄:Fixnum和Bignum類代表不同長度的integer,它倆的都定義自Integer(因此它倆也都是Numeric)。與其它編程語言不同,Ruby沒有煩人的限制,它能處理極大的數字。Ruby用不同的類來限制:Fixnum(默認)表示小點的數,其它的被形象的命名爲Bignum,它代表Ruby需要內部調整的大一點的數。Ruby會替你調整Bignum和Fixnum,那麼你就能放心去做加減乘除什麼的了。運算結果可能非常依賴於你的系統架構,但這些都會被Ruby全權處理好,所以這不用你操心。
  14. 幾個常用的Ruby操作符:+加法運算;-減法運算;*乘法運算;/除法運算;
  15. 其他語言裏的自增、自減運算符(++和–)在Ruby裏是不好使的,前後都不行;
  16. 任何在括號裏的表達式都會被優先運算(專業點的說就是優先級更高)。
  17. Ruby裏有模運算符%。
  18. 當你用integer做運算時,得到的結果也是integer的。
  19. 兩個單引號或兩個雙引號之間的字符序列就是字符串了。
  20. Ruby裏,字符串是可變的。在需要時不用耗太多時間和內存便可擴展。
  21. 可以用+運算符來連接兩個字符串。
  22. <<運算符是用來追加字符串的。
  23. 轉移字符使用\字符,比如:\”,\\,\n。
  24. ‘’(單引號)和””都是空字符串。
  25. 如果你得到了一個這樣的編譯錯誤信息:#<TypeError: cannot convert Fixnum into String>意思就是你不能把數字添加到字符串裏,或着說你不能用字符串乘以字符串。
  26. 常量使用大寫字母,像:PI.length。
  27. 一個局部變量被使用的同時,解釋器就會爲其賦值。好的習慣是給變量初始化個nil。如果變量在沒有賦值時就拿來使用,就會產生一個運行時錯誤。
  28. 在賦值運算符(=)兩邊用空格間隔:
    foo = 1
    而不是
    foo=1
  29. 每行代碼進行一次賦初值
    level = 0
    size = 0
    要優於:
    level = size = 0
  30. x, y = y, x將會交換x和y的值。並行賦值就是有多個左值,或多個右值,或左右都多。多個左值或右值之間用逗號間隔。
  31. 局部變量必須用小寫字母或下劃線字符(_)作爲起始,也必須且只能由英文字母,數字和下劃線組成,比如說:india, _usa, some_var
  32. .to_s,.to_f,.to_s的作用分別是把對象轉換爲integer,float和string。

 

轉載自:http://bevis.me/ruby_summary_cn_1

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章