Ruby 将数组中的元素按2连接
我的数组如下所示:Ruby 将数组中的元素按2连接,ruby,arrays,join,Ruby,Arrays,Join,我的数组如下所示: arr=[“对象1”,3,“对象2”,6] 如何创建下面的预期输出?有没有一种简单的方法可以使用join 对象1(x3)、对象2(x6)。数组与字符串之间没有逻辑转换,因此我认为您应该重新考虑所有问题。 但你可以做到 arr.each_slice(2). # get every two elements map { |top| "#{top.first} (x#{top.last})" }. # create a string for each pair j
arr=[“对象1”,3,“对象2”,6]
如何创建下面的预期输出?有没有一种简单的方法可以使用join
对象1(x3)、对象2(x6)。
数组与字符串之间没有逻辑转换,因此我认为您应该重新考虑所有问题。但你可以做到
arr.each_slice(2). # get every two elements
map { |top| "#{top.first} (x#{top.last})" }. # create a string for each pair
join(', ') # join them by a comma.
# => "object 1 (x3), object 2 (x6)"
没有从数组到字符串的逻辑转换,因此我认为您应该重新考虑这一切。但你可以做到
arr.each_slice(2). # get every two elements
map { |top| "#{top.first} (x#{top.last})" }. # create a string for each pair
join(', ') # join them by a comma.
# => "object 1 (x3), object 2 (x6)"
我真的不知道这是怎么回事,你能再解释一下吗?我得到了加入…@KyleAdams现在呢?你可以这样使用
map
:.map{a,b}“{a}(x{b})”}
我不确定这是怎么回事,你能再解释一下吗?我得到了连接…@KyleAdams现在呢?你可以这样使用map
:.map{a,b}“{a}(x{b})”}
我想你需要一个散列
来处理这样的数据。散列不会被唤醒,因为一些键可能是相同的,但值总是不同的。然后,用一个带有“key”的数组代替散列后跟包含“值”的子数组。使用平面数组会起作用,但最好在可能的情况下组织和分组数据。我认为这样的数据需要一个hash
。hash不会唤醒,因为某些键可能相同,但值总是不同。然后,使用一个数组代替hash,该数组的“键”后跟包含“值”的子数组。使用平面阵列可以工作,但最好尽可能组织和分组数据。