(flag ? arr.each : arr.revese_each){|i| puts i}

proc = flag ? &arr.each : &arr.revese_each; prco{|i| puts}

みたいな列挙の仕方を分岐するコードを
たまに書きたくなるんですけど、自然でうまいやり方ないですか。