我在 Rails 应用程序中看到这样一行:
Order::PAYMENT_TYPES.map {|p| [t('.payment_type.'+p), p]}
PAYMENT_TYPE
是一个字符串数组,字母t
用于Rails中的i18n。
我不确定这里如何使用方括号。显然它们不适用于数组或方法。我会将其重写为 {|p| t('.payment_type.'+p) }
.
那么这个例子中的 Ruby 语法是什么?
最佳答案
Ruby 返回方法或 block 的最后一条语句。在这种情况下,使用方括号,该 block 返回一个包含两项的数组,因此如果 PAYMENT_TYPES
具有三项,则在 map
中调用该 block 将导致类似于 [ [a1, b1], [a2, b2], [a3, b3] ]
.
关于ruby - 这里的方括号是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14517046/