有没有更干净的方法来做这样的事情?

%w[address city state postal country].map(&:to_sym) 
#=> [:address, :city, :state, :postal, :country]

我本以为%s能满足我的要求,但事实并非如此.它只是把所有的东西都放在括号里,然后用它做成一个大符号.

只是个小麻烦.

推荐答案

最初的答案写在9月11日,但是,starting from Ruby 2.0,有一个更短的方法来创建一个符号数组!以下文字:

%i[address city state postal country]

会做你想做的事.

Ruby相关问答推荐

运行跳过的RSpec测试,如果通过则失败

Ruby;人;docs-使用\";?

ruby 组合哈希相关键

Procs的绑定

如何从 url 获取文件扩展名?

如何修改 Ruby gem

创建一个哈希值作为数组和默认值作为空数组

如何将两周时间添加到 Time.now?

使用 Ruby MiniTest 之前/之后的套件

如何在不按 Enter 的情况下获取单个字符?

安装 RVM:需求安装失败,状态为:1

如何声明 RSpec 中示例之间共享的变量?

Ruby 中的方法: objects与not?

Ruby 中方法名称的限制是什么?

如何转换 Ruby 哈希,使其所有键都是符号?

gem 安装失败并出现 openssl 失败

如何使用 link_to Ruby on rails 添加确认消息

在 Ruby 中获取用户主目录的跨平台方法?

将哈希传递给函数 ( *args ) 及其含义

带有类名的动态类定义