剛好昨天有朋友問到,就順便筆記一下。
Ruby官方文件很多,但有時對入門的朋友來說,常會遇到「我想看看XX方法的詳細用法,我該找哪個類別或模組的文件?」的問題。簡單的說,「常翻文件」就是這個問題最好的答案啦,除此之外,你也可以使用”Object#method“來找。
例如我想要知道puts這個很常用的方法是定義在哪邊的:
1
| |
它會回傳一個Method類別的實體,並且寫著Object(Kernel)#puts,表示這個puts方法是被定義在Object的(事實上是在Kernel,透過Mixin混到Object裡的)
回傳的這個Method類別實體其實也可以直接呼叫,例如:
1 2 | |
另外在寫Rails的時候,有時候想要知道某個好用的方法或helper是放在哪邊,想看看原始碼是怎麼寫的,也可以透過這個方式(Ruby 1.9限定):
1 2 3 | |
Method#source_location會回傳一個陣列,裡面放著檔名以及在第幾行。
參考資料:
Ruby API – Method類別