Forgiving Your Infidelize #
Just noticed RCR 290 —Add warning for misspellings of ‘initialize’—which attempts to break Ruby’s silence on method misspellings. Here’s duck typing’s largest weakness, since functionality depends on matching method names.
Florian Gross provides a method_added hook for sniffing out imposters to initialize:
class Class
def method_added(name)
if not private_instance_methods(false).include?("initialize") and
name.to_s[/\Ain[^_]{1,6}li[sz]e\Z/] and name != :initialize
then
warn "warning: probably misspelled `initialize' as `#{name}'"
end
end
end
His regular expression is pretty liberal and I thought I would check for other possible valid matches in /usr/share/dict/words.
$ grep -e '^in\w\{1,6\}li[sz]e$' /usr/share/dict/words
infernalize
infidelize
informalize
initialize
insulize
integralize
internalize
Anyway, I’d really like to start using infernalize as a seamless substitute. Counted lucky that the decadence can begin so early.
This blog is all about tailing flgr now. Tailing flgr and debunking his code. Up next: flgr spotted on the f-train with actor-slash-entertainer Taye Diggs!! Discussing the merits of Dharma Punx!! Gads!!


Comments are closed for this entry.