删除数组括号

时间:2011-04-11 06:36:18

标签: arrays ruby-on-rails-3 multidimensional-array ruby-1.9.2

我认为这是'愚蠢的问题lol

我有以下数组

[['a','b','c'],['d','e','f']]

并希望该数组为

['a','b','c'],['d','e','f']

表示我想删除第一个括号。

这有意义吗?

先谢谢。

2 个答案:

答案 0 :(得分:1)

没有意义。你的意思是字符串操作吗?

irb(main):001:0> s = "[['a','b','c'],['d','e','f']]"
=> "[['a','b','c'],['d','e','f']]"
irb(main):002:0> s[1...-1]
=> "['a','b','c'],['d','e','f']"

或者,你想要展平数组吗?

irb(main):003:0> [['a','b','c'],['d','e','f']].flatten
=> ["a", "b", "c", "d", "e", "f"]

答案 1 :(得分:1)

不,这实际上没有意义,因为这个表示法中的['a','b','c'],['d','e','f']是两个单独的对象/数组不在任何其他数据结构中 ...

你可以做一个任务,比如:

a,b = [['a','b','c'],['d','e','f']]

然后

> a
 => ["a", "b", "c"] 
> b
 => ["d", "e", "f"] 

或者更好地迭代外部数组(因为你不知道它有多少元素):

input = [['a','b','c'],['d','e','f']]
input.each do |x|
   puts "element #{x.inspect}"
end

=>
 element ["a", "b", "c"]
 element ["d", "e", "f"]