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