我正在寻找类似于#detect in enumerables 的东西,但不完全是。这就是 enumerable 的作用:
[1, 2, 3].detect {|i| i > 1 } #=> 2
它返回与条件匹配的数组的第一个实例。现在,我的目的是返回块的值。关注不完全是条件,但例如,第一个不是零。像这样的东西:
[var1, var2, var3].wanted_detect {|var| another_function(var) }
其中函数将返回 another_function 调用的第一个结果,该结果不是 nil。
映射在变量上应用方法的值,然后使用检测不是一种选择。理想情况下,这必须在惰性枚举器中工作,所有可能值的早期映射是不可行的