「Ruby 語法放大鏡」系列短文主要是針對在大家學習 Ruby 或 Rails 時看到一些神奇但不知道用途的語法介紹,希望可以藉由這一系列的短文幫大家更容易的了解到底 Ruby 或 Rails 是怎麼回事。
大家在寫 Rails 專案的時候,一定都有用過 link_to 這個 view helper。問大家一個簡單的問題:
1
| |
請問,上面這段範例中,link_to 方法共有幾個參數?
如果你的答案是 5 個,那你就需要繼續往下看了 :)
在這篇文章中提到,Ruby 很愛省略東西,像是方法的小括號,所以原來上面的 link_to 語法:
1
| |
原本應該長這樣:
1
| |
最後一個參數如果是 Hash,大括號可省略
在 Ruby 省略小括號大家都知道,不過逗點分開的參數不是 5 個嗎?
事實上,在 Ruby 中如果最後一個參數是 Hash 的話,它的大括號是可以省略的。舉個例子來說:
1 2 3 | |
如果要使用這個方法,可以這樣寫:
1
| |
又,因為最後一個參數是 Hash,所以 Hash 的大括號也可省略:
1
| |
如果你了解有什麼東西被省略的話,一開始的那段 link_to 的範例:
1
| |
還原之後會變成:
1
| |
所以,其實參數個數只有 3 個,最後一個參數是一個 Hash。
小結
Ruby 的語法可以適時的省略小括號、大括號或 return,程式碼寫起來的確會更像文章,對新手來說可能會容易混淆,不過看久了應該也會慢慢習慣了。
以上,希望對大家有幫助 :)