mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* doc/syntax/miscellaneous.rdoc: Added documentation for alias, undef,
BEGIN, END. * doc/syntax/modules_and_classes.rdoc (Constants): Fixed unwrapped paragraph with trailing whitespace. * doc/syntax/modules_and_classes.rdoc (Scope): Added section pointing to alias and undef documentation. * doc/syntax.rdoc: Added link to miscellaneous section. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38853 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
038c535e18
commit
1eb9f71c3a
4 changed files with 83 additions and 2 deletions
10
ChangeLog
10
ChangeLog
|
@ -1,3 +1,13 @@
|
|||
Thu Jan 17 08:36:04 2013 Eric Hodel <drbrain@segment7.net>
|
||||
|
||||
* doc/syntax/miscellaneous.rdoc: Added documentation for alias, undef,
|
||||
BEGIN, END.
|
||||
* doc/syntax/modules_and_classes.rdoc (Constants): Fixed unwrapped
|
||||
paragraph with trailing whitespace.
|
||||
* doc/syntax/modules_and_classes.rdoc (Scope): Added section pointing
|
||||
to alias and undef documentation.
|
||||
* doc/syntax.rdoc: Added link to miscellaneous section.
|
||||
|
||||
Thu Jan 17 07:50:26 2013 Eric Hodel <drbrain@segment7.net>
|
||||
|
||||
* doc/syntax/control_expressions.rdoc (Flip-Flop): Added a section on
|
||||
|
|
|
@ -23,3 +23,6 @@ Exceptions[rdoc-ref:syntax/exceptions.rdoc] ::
|
|||
Precedence[rdoc-ref:syntax/precedence.rdoc] ::
|
||||
Precedence of ruby operators
|
||||
|
||||
Miscellaneous[rdoc-ref:syntax/miscellaneous.rdoc] ::
|
||||
+alias+, +undef+, +BEGIN+, +END+
|
||||
|
||||
|
|
61
doc/syntax/miscellaneous.rdoc
Normal file
61
doc/syntax/miscellaneous.rdoc
Normal file
|
@ -0,0 +1,61 @@
|
|||
= Miscellaneous Syntax
|
||||
|
||||
== +alias+
|
||||
|
||||
The +alias+ keyword is most frequently used to alias methods. When aliasing a
|
||||
method you can use either its name or a symbol:
|
||||
|
||||
alias new_name old_name
|
||||
alias :new_name :old_name
|
||||
|
||||
For methods, Module#alias_method can often be used instead of +alias+.
|
||||
|
||||
You can also use +alias+ to alias global variables:
|
||||
|
||||
$old = 0
|
||||
|
||||
alias $new $old
|
||||
|
||||
p $new # prints 0
|
||||
|
||||
You may use +alias+ in any scope.
|
||||
|
||||
== +undef+
|
||||
|
||||
The +undef+ keyword prevents the current class from responding to calls to the
|
||||
named methods.
|
||||
|
||||
undef my_method
|
||||
|
||||
You may use symbols instead of method names:
|
||||
|
||||
undef :my_method
|
||||
|
||||
You may undef multiple methods:
|
||||
|
||||
undef method1, method2
|
||||
|
||||
You may use +undef+ in any scope. See also Module#undef_method
|
||||
|
||||
== +BEGIN+ and +END+
|
||||
|
||||
+BEGIN+ defines a block that is run before any other code in the current file.
|
||||
It is typically used in one-liners with <code>ruby -e</code>. Similarly +END+
|
||||
defines a block that is run after any other code.
|
||||
|
||||
+BEGIN+ must appear at top-level and +END+ will issue a warning when you use it
|
||||
inside a method.
|
||||
|
||||
Here is an example:
|
||||
|
||||
BEGIN {
|
||||
count = 0
|
||||
}
|
||||
|
||||
You must use <code>{</code> and <code>}</code> you may not use +do+ and +end+.
|
||||
|
||||
Here is an example one-liner that adds numbers from standard input or any files
|
||||
in the argument list:
|
||||
|
||||
ruby -ne 'BEGIN { count = 0 }; END { puts count }; count += gets.to_i'
|
||||
|
|
@ -93,8 +93,9 @@ nesting:
|
|||
end
|
||||
end
|
||||
|
||||
However, if you use <code>::</code> to define <code>A::B</code> without nesting
|
||||
it inside +A+ a NameError exception will be raised because the nesting does not include +A+:
|
||||
However, if you use <code>::</code> to define <code>A::B</code> without
|
||||
nesting it inside +A+ a NameError exception will be raised because the nesting
|
||||
does not include +A+:
|
||||
|
||||
module A
|
||||
Z = 1
|
||||
|
@ -193,6 +194,12 @@ The third visibility is +private+. A private method may not be called with a
|
|||
receiver, not even +self+. If a private method is called with a receiver a
|
||||
NoMethodError will be raised.
|
||||
|
||||
=== +alias+ and +undef+
|
||||
|
||||
You may also alias or undefine methods, but these operations are not
|
||||
restricted to modules or classes. See the {miscellaneous syntax
|
||||
section}[rdoc-ref:syntax/miscellaneous.rdoc] for documentation.
|
||||
|
||||
= Classes
|
||||
|
||||
Every class is also a module, but unlike modules a class may not be mixed-in to
|
||||
|
|
Loading…
Reference in a new issue