看看這段 code
~~~
require 'open-uri'
open("http://www.ruby-lang.org/en") do |f|
f.each_line {|line| p line}
puts f.base_uri # <URI::HTTP:0x40e6ef2 URL:http://www.ruby-lang.org/en/>
puts f.content_type # "text/html"
puts f.charset # "iso-8859-1"
puts f.content_encoding # []
puts f.last_modified # Thu Dec 05 02:45:02 UTC 2002
end
~~~
在第一行是 require。這是一個 Ruby 中在你所寫的腳本中加入其他資源(如:Ruby Gems 或者是你寫的其他東西)的功能(features) 的方法。與其一次給你所有功能,Ruby 會問你你打算使用什么。這可使你的程序保持簡潔,又可當做之后其他程序設計師閱讀你的程序時的參考。
# 等一下!功能 (Features) 還有另外一個名字
* * * * *
我在這里把他們叫做「功能(features)」。但實際上沒人這樣叫。我這樣做只是便于記憶,使你在學習時先不用理解「行話」。在繼續進行之前你得先知道它們的真名 modules(模塊)。
從現在開始我們將把這些我們 require 進來的功能稱作 modules(模塊)。我會這樣說:「你想要 require open-uri module。」也有人給它另外一個名字:「函數庫(libraries)」。但在這里我們還是先叫它們 modules (模塊)吧。
# 加分習題
* * * * *
1. 上網查找require 與 include 的差異點。它們有什么不同?
2. 你能 require 一段沒有特別包含 module 的腳本嗎?
3. 搞懂 Ruby 會去系統的什么地方找你 require 的 modules。
- 笨方法更簡單
- 習題 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: 重視各種符號