class NullClass #< NilClass class << self def new @null ||= NullClass.allocate end end def inspect ; 'null' ; end def nil? ; true ; end def null? ; true ; end def [](key); nil; end def method_missing(sym, *args) return nil if sym.to_s[-1,1] == '?' self end end module Kernel def null NullClass.new end end class Object def null? false end end # _____ _ # |_ _|__ ___| |_ # | |/ _ \/ __| __| # | | __/\__ \ |_ # |_|\___||___/\__| # =begin #testing =end