2

私はたくさんのデータに対してたくさんの計算をする必要がありますが、それはすべていくつかの基本テンプレートに基づいています。つまり、言う代わりに、2つの配列間で数学を行うときは、次のようにします。

results = [a[0]-b[1],a[1]-b[2],a[2]-b[3]]

代わりに、基本テンプレートa [0] -b [1]を配置して、結果配列のたとえば50の場所に自動的に入力するようにします。したがって、必ずしも手動で入力する必要はありません。

それを行う方法は何でしょうか?そして、これを自動的に行う1つのメソッドを作成するのが良い方法です。そして、私はそれに数学を伝え、それは配列を埋めますか?

私には手がかりがありません、私はプログラミングに本当に慣れていません。

4

2 に答える 2

4
a = [2,3,4]
b = [1,2,3,4]

results = a.zip(b.drop(1)).take(50).map { |v,w| v - w }
于 2012-09-08T11:09:32.870 に答える
1

カスタム

  a = [2,3,4..............,1000]
  b = [1,2,3,4,.............900]

  class Array
   def self.calculate_difference(arr1,arr2,limit)
    begin
     result ||= Array.new
     limit.send(:times) {|index| result << arr1[index]-arr2[index+=1]} 
     result
   rescue
    raise "Index/Limit Error"
   end
  end
 end

呼び出し元:

Array.calculate_difference(a,b,50)
于 2012-09-08T11:49:09.660 に答える