回憶一下函式的要點,然後一邊做這節練習,一邊注意一下函式和檔案是如何一起協作發揮作用的。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
|
特別注意一下,每次運行 print_a_line
時,我們是怎樣傳遞當前的行號資訊的。
你應該看到的結果
$ ruby ex20.rb test.txt
First let's print the whole file:
To all the people out there.
I say I don't like my hair.
I need to shave it off.
Now let's rewind, kind of like a tape.
Let's print three lines:
1 To all the people out there.
2 I say I don't like my hair.
3 I need to shave it off.
$
加分習題
- 通讀腳本,在每行之前加上註解,以理解腳本裡發生的事情。
- 每次
print_a_line
運行時,你都傳遞了一個叫current_line
的變數。在每次呼叫函數時,印出current_line
的值,跟踪一下它在print_a_line
中是怎樣變成line_count
的。 - 找出腳本中每一個用到函式的地方。檢查
def
一行,確認參數沒有用錯。 - 上網研究一下 file 中的
seek
函數是做什麼用的。試著運行ri file
看看能不能從rdoc
中學到更多。 - 研究一下
+=
這個簡寫操作符號的作用,寫一個腳本,把這個操作符號用在裡邊試一下。