1
0
Fork 0
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:
stomar 2017-11-07 20:04:58 +00:00
parent 17f9ad40f6
commit 093aa9ae03

View file

@ -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.