From: Andrew Wagner Date: 2010-10-11T05:59:48+09:00 Subject: More readable array querying --001636c5bd8501e3eb049249863b Content-Type: text/plain; charset=UTF-8 All, I've been playing with some code to make querying an array more readable. Basically, it lets you write one of the following: puts [1,2,3].first that {|x| x.even? } puts [1,2,3].first that is :even instead of this: puts [1,2,3].find {|x| x.even? } The code is below. I'm curious whether you'd find it useful, interesting, worthwhile, etc., and if there are improvements you can think of. Either way, it was a fun little exercise. I love the flexibility I get from writing in ruby! module Kernel def that proc=nil, &block p = proc.nil? ? block : proc lambda { |x| x.instance_eval &p } end def is message lambda { |x| x.send "#{message}?".to_sym } end end class Array alias :old_first first def first func=nil return old_first if func.nil? each do |x| return x if func.call x end nil end end --001636c5bd8501e3eb049249863b--