Keywords / Symbols Flashcards
BEGIN
Run this block when the script starts.
BEGIN { puts “hi” }
END
Run this block when the script is done.
END { puts “hi” }
alias
Create another name for a function.
alias X Y
and
Logical ‘and’, but lower priority than &&.
puts “Hello” and “Goodbye”
begin
Start a block, usually for exceptions.
begin end
break
Break out of a loop right now.
while true; break; end
case
Case style conditional, like an if.
case X; when y; else; end
class
Define a new class.
class x; end
def
Define a new function.
def X( ); end
defined?
Is the class/function/etc. defined already?
defined? Class == “constant”
do
Create a block that maybe takes a parameter.
(0..5).each do |x| puts x end
else
Else conditional
if X; else; end
elsif
Else conditional
if X; elsie Y; else; end
end
Ends blocks, functions, classes, everything
begin end # many others
ensure
Run this code whether an exception happens or not.
being ensure end
for
For loop syntax. the .each syntax is preferred.
for X in Y; end
if
if conditional.
if X; end
in
In part of for-loops.
for X in Y; end
module
Define a new module.
module X; end
next
Skip to the next element of a .each iterator.
(0..5).each {|y| next}
not
Logical ‘not’. But use ! instead.
not true == false
or
Logical ‘or’.
puts “Hello” or “Goodbye”
redo
Rerun a code block exactly the same.
(0..5).each {|i| redo if i > 2}
rescue
Run this code if an exception happens.
begin rescue X; end
retry
In rescue clause, says to try the block again.
(0..5).each {|i| retry if i > 2}
return
Returns a value from a function. Mostly optional.
return x
self
The current object, class, or module.
defined? self == “self”
super
The parent class of this class.
super
then
Can be used with if optionally.
if true then puts “hi” end
undef
Remove a function definition from a class.
undef X
unless
Inverse of if
unless false then puts “not” end
until
Inverse of while, execute block as long as false.
until false; end
when
Part of case conditionals.
case X; when Y; else; end
while
While loop.
while true; end
yield
Pause and transfer control to the code block.
yield
nil
Represents “nothing” or “no value”
x = nil
arrays
Stores a list of things.
j = [1, 2, 3, 4, 5]
hashes
Stores a key=value mapping of things.
e = {‘x’ => 1, ‘y’ => 2}
\
Escape backslash
'
Escape single-quote
"
Escape double-quote
\a
Escape bell
\b
Escape backspace
\f
Escape form-feed
\n
Escape newline
\r
Escape carriage return
\t
Escape tab
\v
Escape vertical tab
..
Range inclusive
(0..3).to_a == [0, 1, 2, 3]
…
Range exclusive
(0…3).to_a == [0, 1, 2}
@
Object scope
@var ; @@classvar
@@
Class scope
@var ; @@classvar
$
Global scope
$stdin