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.
···
--
John Maclean
MSc (DIC)
07739 171 531
John Maclean <info@jayeola.org> 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?
You could also try searching the list archives.
HTH.
Or you could make a script that tries to assign to local variables
with every possible name combination, and keeps track of which ones
throw exceptions.
···
On 1/2/06, George Ogata <g_ogata@optushome.com.au> wrote:
John Maclean <info@jayeola.org> 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?
You could also try searching the list archives.
HTH.
George Ogata wrote:
John Maclean <info@jayeola.org> 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
"Gene Tani" <gene.tani@gmail.com> writes:
George Ogata wrote:
John Maclean <info@jayeola.org> 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.
Wilson Bilkovich <wilsonb@gmail.com> writes:
···
On 1/2/06, George Ogata <g_ogata@optushome.com.au> wrote:
John Maclean <info@jayeola.org> 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.
Or you could make a script that tries to assign to local variables
with every possible name combination, and keeps track of which ones
throw exceptions.
Or you could simply look into the "keywords" file in the Ruby sources...
--
Christian Neukirchen <chneukirchen@gmail.com> http://chneukirchen.org
Wilson Bilkovich wrote:
Or you could make a script that tries to assign to local variables
with every possible name combination, and keeps track of which ones
throw exceptions.
Or you could bookmark The Ruby Language
raise, public, private, and protected aren't keywords -- they're methods. As such, you *can* make variables with their names, and use self.xxx to invoke the method.
Devin