Ruby:将字符串转换为数组

时间:2013-12-20 04:30:33

标签: ruby arrays

我有一个愚蠢的红宝石问题

def a(ok)
  #...
  ok
end


a("123")
a(["123","456"])

如何将输出作为数组?

["123"]
["123","456"]

3 个答案:

答案 0 :(得分:1)

使用方法Kernel#Array

def a(ok)
  Array(ok)
end


a("123") # => ["123"]
a(["123","456"]) # => ["123", "456"]

答案 1 :(得分:0)

使用Array#wrap

Array.wrap("123") # => ["123"]
Array.wrap(["123","456"]) # => ["123","456"]

编辑: 这是一个rails扩展,如果你不使用rails,只需省略这个答案。

答案 2 :(得分:0)

def a(a)
  [a].flatten
end

a([1,2,3,4])
[1, 2, 3, 4]
a(1)
[1]
a([1,[2]])
[1, 2]