以"笨方法學Ruby(Learn Ruby The Hard Way)"為教材, 真實記錄一個程式語言的外行人在實際練習"笨方法學Ruby"時對每一行程式碼的自問自答, 而隨著不停學習, 又推翻之前自以為是的錯誤解答的學習旅程, 希望能鼓勵更多和我一樣不懂程式語言卻又想學Ruby的人, 看看我是怎麼在程式碼裡撞牆跌倒又爬起來. 當然, 也希望各位前輩能夠在我把這些自以為是的錯誤解答貼出來時能夠不吝指教, 因為我不討拍, 而是來討教的!
為什麼要學Ruby:
我想做一個互動式的網頁, 聽說Ruby on Rails開發起來很快, 所以先學Ruby
曾經學過的程式語言:
12年前念大一學過Fortran, 但是被當掉到大三重修才低空飛過, 可以說得上是完全沒有基礎.
甚麼是"笨方法學Ruby":
由Zed Shaw所編著, XDite翻譯繁中版的一本書, 與其說是一本書, 其實就是52個習題而已, 但是learn by doing據說是學習code很不錯的一種方式, 所以我就衝了. 這兩個版本都是免費的, 如果英文能力夠, 推薦直接看英文版, 連結如下:
Learn Ruby The Hard Way 英文版
Learn Ruby The Hard Way 中文版
我預計在30天內跑完全部52個習題, 記錄下遇到的問題和思考過程, 肯定會留下很多錯誤, 還請各位不吝指正!
前提:
在這本書中最重要的一點就是"親手寫每一行code, 絕對不要複製貼上", 所以我將採用螢幕截圖的方式貼出我寫的code以及我的註解, 強迫大家一定要自己寫code, 而且有一個額外的好處是不需要重新排版, 連顏色都上好了, 閱讀起來也比較省力.
習題中會有程式碼, 執行程式碼後的輸出結果, 還有額外習題, 這邊我只會針對程式碼本身下注解, 執行結果和額外習題就請各位自行參考並解答.
在正式進入習題1之前, Zed Shaw有一個習題0的準備工作, 今天會先介紹習題0, 因為對一個外行人來說, 習題0也是很難的!
ex.0
習題0是準備工作, 已經預設你安裝好了Ruby. 我是直接買了一台Macbook Air, 不需要安裝Ruby, 只需要更新. 至於LRTHW中提到Windows/Linux的安裝方法我沒有嘗試過, 依照步驟安裝應該沒有問題, 接下來的步驟都依照我在mac上的經驗寫下.
準備編輯器. 請安裝Sublime Text 2, 或者用作者推薦的TextWrangler皆可, 這些都是純文字的編輯器, 不要用其他很fancy的編輯器.
搜尋"Terminal"或者是"終端機", 這是我們用編輯器寫完程式之後執行驗證的地方.
這52個習題只需要這兩樣很單純的工具並且不停地重複底下的步驟:
如果你和我一樣是剛從windows跳過來Mac就只為了學coding的話, 底下是一些常用快捷鍵的按法:
切視窗
ALT + Tab --> Command + Tab
切換輸入法
CTRL + space --> Command + space
中文輸入法下輸入半形符號
shift --> Caps lock
至於在Terminal底下的操作, 可以參考ihower整理出來和DOS的操作比較表, DOS -->MAC:
移動所在目錄
cd XXX --> cd XXX
移動到上一層目錄
cd .. --> cd ..
顯示目前所在目錄
cd --> pwd
顯示目前目錄的檔案
dir --> ls
刪除檔案
erase XXX --> rm XXX
刪除目錄
rmdir XXX --> rmdir XXX
建立目錄
mkdir XXX --> mkdir XXX
假設你已經安裝好Ruby, 請打開Terminal並執行irb, 要關掉irb請按CTRL + Z.
irb是甚麼? 後面會教到, 這邊先確認你能不能執行irb, 才能確定你的Ruby有沒有裝好.
到這邊為止, 依每個人的電腦熟悉程度會花上不同的時間, 不過要站上起跑線, 這些是必要的功課, 接下來讓我們進入第一個習題吧.