Например код:
irb(main):001:0> a = [1, 2, 3, 4, 5]
=> [1, 2, 3, 4, 5]
irb(main):002:0> a.sort {|d,e| (d - 3).abs <=> (e - 3).abs}
=> [3, 2, 4, 1, 5] # sort by closest distance away from the number 3
не очень хорошо повторять выражение дважды, и слишком тривиально создавать функцию только для этого выражения. Есть ли способ написать что-то вроде
irb(main):002:0> a.sort {|e| (e - 3).abs} # compare by this expression