你應該在習題 0 中花了不少的時間,學會了如何安裝文字編輯器、執行文字編輯器、以及如何運行 Terminal,如果你還沒這么做的話,請別繼續往前走,之后會有很多苦頭的。請不要跳過前一個習題的內容繼續前進,這也是本書唯一的一次在習題開頭就做這樣的警告。
~~~
puts "Hello World!"
puts "Hello Again"
puts "I like typing this."
puts "This is fun."
puts 'Yay! Printing.'
puts "I'd much rather you 'not'."
puts 'I "said" do not touch this.'
~~~
將上面的內容寫到一個文件中,取名為ex1.rb。注意這樣的命名方式,Ruby 文件最好以 .rb 結尾。
然后你需要在 Terminal 中輸入以下內容來執行這段程序:
`ruby ex1.rb`
如果你寫對了的話,你應該看到和下面一樣的內容。如果不一樣,那就是你弄錯了什么東西。不是電腦有問題,電腦沒問題。
# 你應該看到的內容
* * * * *
~~~
$ ruby ex1.rb
Hello World!
Hello Again
I like typing this.
This is fun.
Yay! Printing.
I'd much rather you 'not'.
I "said" do not touch this.
$
~~~
你也許會看到` $ `前面會顯示你所在的目錄的名稱,這不是問題,但如果你的輸出不一樣的話,你需要找出為什么會不一樣,然后把你的程序改對。
如果你看到類似如下的錯誤信息:
~~~
ruby ex1.rb
ex1.rb:4: syntax error, unexpected tCONSTANT, expecting $end
puts "This is fun."
^
~~~
看懂這些內容對你來說是很重要的。因為你以后還會犯類似的錯誤。就是我現在也會犯這樣的錯誤。讓我們一行一行來看。
1. 首先我們在 Terminal 輸入命令來執行 ex1.rb 腳本。
2. Ruby 告訴我們 ex1.rb 文件的第 4 行有一個錯誤。
3. 然后這一行的內容被輸出了出來。
4. 然后 Ruby 印出了一個 ^ (插入符號,caret) 符號,用來指示錯誤的位置。
5. 最后,它印出了一行「語法錯誤(SyntaxError)」告訴你究竟是發生了怎么樣的錯誤。通常這些錯誤信息都非常的難懂,不過你可以把錯誤信息的內容復制到搜尋引擎里,然后你就能看到別人也遇到過這樣的錯誤,而且你也許能搞清楚怎樣解決這個問題。
# 加分習題
* * * * *
你還會有加分習題需要完成。加分習題里面的內容是供你嘗試的。如果你覺得做不出來,你可以暫時跳過, 過段時間再回來做。
在這個練習中,試試這些東西:
1. 讓你的腳本再多輸出一行。
2. 讓你的腳本只輸出其中的一行。
3. 在一行的開始位置放置一個 `# `(octothorpe) 符號。它的作用是什么?自己研究一下。
4. 從現在開始,除非特別情況,我將不再解釋每個習題的運作原理了。
> Note: 井號有很多的英文代稱,例如「octothorpe ( 八角帽 )」」、「pound( 英鎊符號 )」、「hash( 電話的 # 鍵 )」、「mesh ( 網 )」。
- 笨方法更簡單
- 習題 00: 準備工作
- 習題 01: 第一個程序
- 習題 02: 注釋和#號
- 習題 03: 數字和數學計算
- 習題 04: 變量的命名
- 習題 05: 更多的變量和輸出
- 習題 06: 字符串和文字
- 習題 07: 更多輸出
- 習題 08: 輸出,輸出
- 習題 09: 輸出,輸出,輸出~
- 習題 10: 那是啥?
- 習題 11: 提問
- 習題 12: 模塊
- 習題 13: 參數,解包,參數
- 習題 14: 提示和傳遞
- 習題 15: 讀取文件
- 習題 16: 操作文件
- 習題 17: 更多的文件操作
- 習題 18: 命名,變量,代碼,函數
- 習題 19: 函數和變量
- 習題 20: 函數和文件
- 習題 21: 函數可以傳入信息
- 習題 22: 到現在你學到了什么?
- 習題 23: 閱讀一些代碼
- 習題 24: 更多練習
- 習題 25: 更多更多的練習
- 習題 26: 恭喜你,現在來考試了!
- 習題 27: 記住邏輯關系
- 習題 28: Boolean表達式練習
- 習題 29: 如果
- 習題 30: Else 和 If
- 習題 31: 做出判斷
- 習題 32: 循環和數組
- 習題 33: While
- 習題 34: 存取數組里的元素
- 習題 35: 分支和函數
- 習題 36: 設計和測試
- 習題 37: 重視各種符號