From: Devin Mullins Date: 2006-11-27T01:31:48+09:00 Subject: Re: how do I contribute to Ruby? Giles Bowkett wrote: > You know, this would make a pretty entertaining Ruby Quiz. Especially > if you also had to make sure that is_a? User and is_an? Udder had to > work properly as well. require 'rubygems' require 'linguistics' Linguistics.use :en, :installProxy => true module Kernel %w{a an}.each do |art| define_method("is_#{art}?") do |mod| raise NameError unless art == mod.name.a.split[0] kind_of? mod end end end 5.is_a? Object #=> NameError 5.is_an? Object #=> true 5.is_an? String #=> NameError 5.is_a? String #=> false (Testing user/udder is left as an exercise to the reader.) Devin