如果2 arg = n的总和,则返回true的ruby -method

时间:2013-10-14 21:11:37

标签: ruby-on-rails

什么是采用2个参数数组和n的适当方法,如果2个数组元素的总和=使用ruby,则返回true? 我知道检测和注入(:+)但不知道如何将它们结合起来。

2 个答案:

答案 0 :(得分:2)

如果数组长度超过2,则可以使用Array#combination

combination(2)会返回长度为2的所有组合,如果至少有一个组合的总和为any?,则n会返回true。

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

答案 1 :(得分: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