Ruby 改进解析'*arg';价值观
我想知道是否有更好的方法(即更少的编码)来获得与以下代码相同的Ruby 改进解析'*arg';价值观,ruby,parsing,Ruby,Parsing,我想知道是否有更好的方法(即更少的编码)来获得与以下代码相同的输出: # arg = :a, :b, :c output = args.to_a.flatten.compact.map(&:to_sym) # => [:a, :b, :c] 我使用上面的代码来解析方法以这种方式传递的参数 `method_name(:a, :b, :c)`. 我看不出有任何必要使用来压缩、展平或压缩 如果要将字符串转换为符号,只需执行.map(&:to_sym)。如果您只接受符号,则只需arg
输出
:
# arg = :a, :b, :c
output = args.to_a.flatten.compact.map(&:to_sym)
# => [:a, :b, :c]
我使用上面的代码来解析方法以这种方式传递的参数
`method_name(:a, :b, :c)`.
我看不出有任何必要使用
来压缩
、展平
或压缩
如果要将字符串转换为符号,只需执行.map(&:to_sym)
。如果您只接受符号,则只需args
包含您想要的内容
def method_name(*args)
p args.map(&:to_sym)
end
method_name(:a, "b", :c)
输出
[:a, :b, :c]