From: George Ogata Date: 2006-01-02T18:23:04+09:00 Subject: Re: Listing Ruby keywords "Gene Tani" writes: > George Ogata wrote: >> John Maclean writes: >> >> > Is there a simple way to find out all or most of the built-in >> > keywords? I know that if a keyword's in a ruby script that the >> > debugger will tell you but I'd like to know before hand, in other >> > words when I'm actually writing the scripts. >> >> Can't use an editor with syntax coloring? ;-) >> >> The emacs ruby-mode colors these as keywords: >> >> "alias" >> "and" >> "begin" >> "break" >> "case" >> "catch" >> "class" >> "def" >> "do" >> "elsif" >> "else" >> "fail" >> "ensure" >> "for" >> "end" >> "if" >> "in" >> "module" >> "next" >> "not" >> "or" >> "raise" >> "redo" >> "rescue" >> "retry" >> "return" >> "then" >> "throw" >> "super" >> "unless" >> "undef" >> "until" >> "when" >> "while" >> "yield" >> >> And these as special variables: >> >> nil, self, true, false, __FILE__, __LINE__ >> >> Aside from that I can only think of: >> >> BEGIN, END, defined? > > The Nutshell doesn't list "raise" as a keyword > > class Blah > def testraise > raise=3 > "raise local var: #{raise}" > end > end > > a=Blah.new() > p a.testraise # =>"raise local var: 3" > > and i always wondered why public, protected and private weren't > keywords also Because they're not really keywords; they're methods of Module. Try ri on them... :-) On closer examination, catch, fail, raise and throw aren't keywords either. It's handy to have them highlighted though.