我看到一個Rails應用程序這樣一行:這裏的方括號是什麼意思?
PAYMENT_TYPE
是一個字符串數組,和信t
被用於Rails的國際化。
我不知道這裏如何使用方括號。顯然它們不適用於數組或方法。我會將其重寫爲{|p| t('.payment_type.'+p) }
。
那麼這個例子中的Ruby語法是什麼?
我看到一個Rails應用程序這樣一行:這裏的方括號是什麼意思?
PAYMENT_TYPE
是一個字符串數組,和信t
被用於Rails的國際化。
我不知道這裏如何使用方括號。顯然它們不適用於數組或方法。我會將其重寫爲{|p| t('.payment_type.'+p) }
。
那麼這個例子中的Ruby語法是什麼?
Ruby返回方法或塊的最後一條語句。在這種情況下,使用括號,塊返回兩個項目的數組,因此在map
中調用該塊,如果PAYMENT_TYPES
有三個項目,則會產生類似[ [a1, b1], [a2, b2], [a3, b3] ]
之類的內容。
顯然,他們是不是數組或方法
嗯,這是的數組文本
[t('.payment_type.'+p), p]
#^first element ^second
我將改寫這只是......
如果這將適用於 你先走。我們不知道您的應用的具體內容。
你是正確的方括號不只是用於數組,你也可以調用Procs。
proc = lambda { |name| "Hello, #{name}" }
proc.call('Bob')
=> "Hello, Bob"
proc = lambda { |name| "Hello, #{name}" }
proc['Bob']
=> "Hello, Bob"
但是,在這種情況下,如其他人所指出的,被返回一個新的數組導致陣列的嵌套數組。