2

我需要对大量数据进行大量数学运算,但这一切都基于一些基本模板。因此,与其说,在 2 个数组之间进行数学运算时,我这样做:

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

我想只放置基本模板:a[0]-b[1] 并使其自动填充结果数组中的 50 个位置。所以我不必总是手动输入。

有什么方法可以做到这一点?一个好方法是创建一个自动执行此操作的方法。我只是告诉它数学它会填写一个数组吗?

我不知道,我对编程真的很陌生。

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 回答