你已經學會了輸出東西和數學運算。下一步你要學的是「變量」。在開發程序中,變量只不過是用來代表某個東西的名稱。程式設計師通過使用變量名稱可以讓他們的程序讀起來更像英語。而且因為程序設計師的記性都不怎樣,變量名稱可以讓他們更容易記住程序的內容。如果他們沒有在寫程序時使用好的變量名稱,在下一次讀到原來寫的程序時對他們會非常頭疼的。
如果你被這章習題難住了的話,記得我們之前教過的:找到不同點、注意細節:
1. 在每一行的上面寫一行注釋,給自己解釋一下這一行的作用。
2. 倒著讀你的 `.rb` 文件。
3. 朗讀你的 `.rb` 文件,將每個字符也朗讀出來。
~~~
cars = 100
space_in_a_car = 4.0
drivers = 30
passengers = 90
cars_not_driven = cars - drivers
cars_driven = drivers
carpool_capacity = cars_driven * space_in_a_car
average_passengers_per_car = passengers / cars_driven
puts "There are #{cars} cars available."
puts "There are only #{drivers} drivers available."
puts "There will be #{cars_not_driven} empty cars today."
puts "We can transport #{carpool_capacity} people today."
puts "We have #{passengers} passengers to carpool today."
puts "We need to put about #{average_passengers_per_car} in each car."
~~~
> Note: space_in_a_car 中的 _ 是 底線(underscore) 符號。你要自己學會怎樣打出這個符號來。這個符號在變量k里通常被用作假想的空隔,用來隔開單詞。
# 你應該看到的結果
* * * * *
~~~
$ ruby ex4.rb
There are 100 cars available.
There are only 30 drivers available.
There will be 70 empty cars today.
We can transport 120.0 people today.
We have 90 passengers to carpool today.
We need to put about 3 in each car.
$
~~~
# 加分習題
* * * * *
當我剛開始寫這個程序時我犯了個錯誤,Ruby 告訴我這樣的錯誤信息:
> ex4.rb:8:in `<main>': undefined local variable or method `car_pool_capacity' for main:Object (NameError)
用你自己的話解釋一下這個錯誤信息,解釋時記得使用行號,而且要說明原因。
# 更多的加分習題
* * * * *
1. 解釋一下為什么程序里面用了 4.0 而不是 4。
2. 記住 4.0 是一個「浮點數」,自己研究一下這是什么意思。
3. 在每一個變量賦值的上一行加上一行注釋。
4. 記住 `=` 的名稱是等于(equal),它的作用是為東西取名。
5. 記住 `_` 是底線(underscore)。
6. 將 IRB 作為計算機跑起來,就跟以前一樣,不過這一次在計算過程中使用變量名稱來做計算,常見的變數名稱有 `i `、 `x `、 `j` 等等。
- 笨方法更簡單
- 習題 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: 重視各種符號