【问题标题】:removing array brackets删除数组括号
【发布时间】:2011-04-11 06:36:17
【问题描述】:

我认为这是一个愚蠢的问题,哈哈

我有下面的数组

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

并希望该数组为

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

这意味着我要删除第一个括号。

这有意义吗?

感谢您的建议。

【问题讨论】:

  • 不,这没有意义,您希望由两个数组组成的数组成为由两个数组组成的数组:同一件事?为什么?
  • 因为,我想将它插入到另一个数组中而没有循环。 :)
  • 我知道你在问什么,因为我也有同样的问题。简短的回答是“splat”:*[['a','b','c'],['d','e','f']] 这是我的post with the answer

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


【解决方案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"]

【讨论】:

  • 整个想法是将这些元素一次插入另一个数组。这次我不想使用循环。
【解决方案2】:

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

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"]

【讨论】:

    猜你喜欢
    • 2018-01-13
    • 2014-01-28
    • 2019-12-30
    • 1970-01-01
    • 2019-03-01
    • 2018-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多