mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
refinements.rdoc: improve docs
* doc/syntax/refinements.rdoc: [DOC] fix typos and grammar and remove superfluous "for the first time". git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60700 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
17f9ad40f6
commit
093aa9ae03
1 changed files with 4 additions and 3 deletions
|
@ -181,8 +181,8 @@ When not evaluated:
|
|||
# not activated here
|
||||
|
||||
When defining multiple refinements in the same module inside multiple +refine+ blocks,
|
||||
all refinements from the same module are active when a refined method(any of the +.to_json+ method from Example below) is
|
||||
called for the first time:
|
||||
all refinements from the same module are active when a refined method
|
||||
(any of the +to_json+ methods from the example below) is called:
|
||||
|
||||
module ToJSON
|
||||
refine Integer do
|
||||
|
@ -227,7 +227,8 @@ Note that methods in a subclass have priority over refinements in a
|
|||
superclass. For example, if the method <code>/</code> is defined in a
|
||||
refinement for Numeric <code>1 / 2</code> invokes the original Integer#/
|
||||
because Integer is a subclass of Numeric and is searched before the refinements
|
||||
for the superclass Numeric. Since the method <code>/</code> is also present in child +Integer+ therefore, the method lookup never went to the superclass.
|
||||
for the superclass Numeric. Since the method <code>/</code> is also present
|
||||
in child +Integer+, the method lookup does not move up to the superclass.
|
||||
|
||||
However, if a method +foo+ is defined on Numeric in a refinement, <code>1.foo</code>
|
||||
invokes that method since +foo+ does not exist on Integer.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue