ruby - 这里的方括号是什么意思?

标签 ruby

我在 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/

相关文章:

ruby - 在 RVM 安装 1.9.3 期间运行配置时出错

ruby-on-rails - 使用多个参数问题创建

ruby - Ruby 有类似 Python PEX 的东西吗

ruby - 如何在终端提示中显示 RVM 当前的 Ruby 和 gemset?

ruby-on-rails - 超出范围错误,在 rspec 测试期间类型::整数

ruby - 如何防止 File.readlines 中的引号

ruby-on-rails - 使用 Prawn 在表格/单元格内绘制格式化文本

ruby - 如何替换 Ruby 中的 for 循环?

ruby - 在 Ruby 中,tLABEL 到底是什么意思?

mysql - 将一些对象从一个数据库迁移到另一个数据库