列挙型で #detect に似たものを探していますが、完全ではありません。これは列挙可能なものです:
[1, 2, 3].detect {|i| i > 1 } #=> 2
条件に一致する配列の最初のインスタンスを返します。今、私の目的は、ブロックの値を返すことです。懸念は正確な条件ではありませんが、たとえば、nil ではない最初の条件です。このようなもの:
[var1, var2, var3].wanted_detect {|var| another_function(var) }
関数は、nil ではない another_function 呼び出しの最初の結果を返します。
変数にメソッドを適用してから検出を使用する値をマッピングすることはオプションではありません。これは理想的には遅延列挙子で機能する必要があり、可能なすべての値の早期マッピングは不可能です