1

rubyでarrayとnの2つの引数を取り、2つの配列要素の合計=nの場合にtrueを返す適切なメソッドは? detect と inject(:+) は知っていますが、両方を組み合わせる方法がわかりません。

4

2 に答える 2

2

Array#combination配列の長さが 2 を超える場合に使用できます。

combination(2)長さ 2 のすべての組み合わせをany?返し、少なくとも 1 つの組み合わせに sum がある場合は true を返しますn

def foo(arr,n)  
  arr.combination(2).any?{|a,b| a + b == n}
end

foo [1,2,3,4,5], 3 #=> true
foo [1,2,3,4,5], 10 #=> false
于 2013-10-14T21:35:47.373 に答える
0

これがどのように便利な機能かはわかりませんが、どうぞ

def weird_function arr, n
  return arr[0] + arr[1] === n
end

使用法

weird_function [1,3], 4 #=> true
weird_function [1,2], 4 #=> false
于 2013-10-14T21:14:46.373 に答える