Ruby/Language Basics/Reserved words

Материал из Wiki.crossplatform.ru

Перейти к: навигация, поиск

Содержание

Classes and modules begin with an upper case letter.

This is actually enforced by Ruby"s interpreter. 
Each word in a class name begins with an upper case (unless it"s part of an acronym):
module Observable
module ParseDate
class StringInputMethod
class StringReplace
class XMP



If a method name ends in an equals sign (=), as in family_name=

the method is a "setter," 
class Name
  def family_name=( family )
    @family_name = family
  end
  def given_name=( given )
    @given_name = given
  end
end
n = Name.new
n.family_name= "Matsumoto" # => "Matsumoto"
n.given_name= "Yukihiro" # => "Yukihiro"
p n # => <Name:0x1d441c @family_name="Matsumoto", @given_name="Yukihiro">



If a method name ends in an exclamation point (!), as in delete!

it indicates that the method is destructive, 
it makes changes in place to an object rather than to a copy. 
It changes the object itself. 
the difference in result between the String methods delete and delete!:
der_mensch = "myValue!" # => "myValue!"
der_mensch.delete( "!" ) # => "myValue"
puts der_mensch # => myValue!
der_mensch.delete!( "!" ) # => "myValue"
puts der_mensch # => myValue



If a method name ends with a question mark (?), as in eql?, then the method returns a Boolean

x = 1.0
y = 1.0
x.eql? y # => true



Ruby"s reserved words

Reserved word     Description
BEGIN             Code, enclosed in { and }, to run before the program runs.
END               Code, enclosed in { and }, to run when the program ends.
alias             Creates an alias for an existing method, operator, or global variable.
and               Logical operator; same as && except and has lower precedence.
begin             Begins a code block or group of statements; closes with end.
break             Terminates a while or until loop or a method inside a block.
\case             Compares an expression with a matching when clause; closes with end.
class             Defines a class; closes with end.
def               Defines a method; closes with end.
defined?          Determines if a variable, method, super method, or block exists.
do                Begins a block and executes code in that block; closes with end.
else              Executes if previous conditional, in if, elsif, unless, or when, is not true.
elsif             Executes if previous conditional, in if or elsif, is not true.
end               Ends a code block (group of statements) starting with begin, def, do, if, etc.
ensure            Always executes at block termination; use after last rescue.
false             Logical or Boolean false, instance of FalseClass. (See true.)
for               Begins a for loop; used with in.
if                Executes code block if true. Closes with end. 
module            Defines a module; closes with end.
next              Jumps before a loop"s conditional.
nil               Empty, uninitialized variable, or invalid, but not the same as zero; object of NilClass.
not               Logical operator; same as !.
or                Logical operator; same as || except or has lower precedence.
redo              Jumps after a loop"s conditional.
rescue            Evaluates an expression after an exception is raised; used before ensure.
retry             Repeats a method call outside of rescue; jumps to top of block (begin) if inside rescue.
return            Returns a value from a method or block. May be omitted.
self              Current object (invoked by a method).
super             Calls method of the same name in the superclass. The superclass is the parent of this class.
then              A continuation for if, unless, and when. May be omitted.
true              Logical or Boolean true, instance of TrueClass.
undef             Makes a method in current class undefined.
unless            Executes code block if conditional statement is false.
until             Executes code block while conditional statement is false.
when              Starts a clause (one or more) under case.
while             Executes code while the conditional statement is true.
yield             Executes the block passed to the method.
_ _FILE_ _        Name of current source file.
_ _LINE_ _     Number of current line in the current source file.