ruby - 如何在不使用 block 的情况下在 Ruby 中计算 'map'?

标签 ruby

我知道我可以用 Ruby 做到这一点:

  ['a', 'b'].map do |s| s.to_sym end

得到这个:

  [:a, :b]

我正在寻找一种不使用 block 的更简洁的方法。不幸的是,这不起作用:

  ['a', 'b'].map #to_sym

我可以比使用初始代码做得更好吗?

最佳答案

阅读一些关于 Symbol#to_proc 的内容:

['a', 'b'].map(&:to_sym)
# or
['a', 'b'].map &:to_sym
# Either will result in [:a, :b]

如果您使用的是 Ruby 1.8.7 或更高版本,或者如果您使用的是 Rails,则此方法有效 - ActiveSupport 将为您添加此功能。

关于ruby - 如何在不使用 block 的情况下在 Ruby 中计算 'map'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7310389/

相关文章:

mysql - 检查时间重叠(ruby/mysql)

ruby - Program Files 下的文件具有人格 split

ruby - 如何从 ruby​​gem.org 删除 gem?

ruby - rhc设置登录错误

ruby - 使用 Ruby 处理抽象类解决方案的正确方法是什么?

ruby-on-rails - 在 Rails 5 中使用 FacebookOmniauth

ruby - 使用 chomp 链接时出错

ruby-on-rails - Rails : Why is my . 每个循环都被跳过了吗?

ruby - 如何检测 ruby​​ 中的变量更改/分配

ruby - 当两个图像非常相似时,如何使 Selenium 测试通过?