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