小编Ped*_*dro的帖子

如何将一个数组中的元素与另一个数组中的每个元素组合

我试图将一个数组中的元素与另一个数组中的每个元素组合在一起,我试图寻找一些解决方案,但我无法弄清楚。

以这两个数组为例:

num = [1,2,3]

let = ["a","b","c"]
Run Code Online (Sandbox Code Playgroud)

我想将它们结合起来以获得:

combined = [[1, "a"], [1, "b"], [1, "c"], [2, "a"], [2, "b"], [2, "c"], 
            [3, "a"], [3, "b"], [3, "c"]]
Run Code Online (Sandbox Code Playgroud)

ruby

1
推荐指数
1
解决办法
58
查看次数

如何获取数组中的下一个和上一个元素,Ruby

我有这个数组,需要用它的前一个和下一个相乘来替换它的元素。

我执行以下操作:

   array.each_with_index{|element, index|
      next_element = array[index+1]
      previous_element = array[index-1]
    }

   array.map! {|a|
      if a == array.first
        a = a * next_element
      elsif a == array.last
        a = a * previous_element
      else
        a = next_element * previous_element
      end
      }
Run Code Online (Sandbox Code Playgroud)

我希望得到以下结果:

array = [4, 1, 6, 7, 9, 3, 0]       #given array
array = [4, 24, 7, 54, 21, 0, 0]    #array replaced
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

undefined local variable or method `next_element' for Arrays:Class

有没有一种简单的方法来获取给定数组元素的上一个和下一个元素?

我用的array.map!方法对吗?

ruby loops ruby-on-rails

1
推荐指数
1
解决办法
2151
查看次数

标签 统计

ruby ×2

loops ×1

ruby-on-rails ×1