Project

General

Profile

Misc #16126 ยป docs-bugs.patch

zverok (Victor Shepelev), 08/24/2019 05:35 PM

View differences:

enumerator.c
* A class which allows both internal and external iteration.
*
* An Enumerator can be created by the following methods.
* - Kernel#to_enum
* - Kernel#enum_for
* - Object#to_enum
* - Object#enum_for
* - Enumerator.new
*
* Most methods have two forms: a block form where the contents
......
* In the second, deprecated, form, a generated Enumerator iterates over the
* given object using the given method with the given arguments passed.
*
* Use of this form is discouraged. Use Kernel#enum_for or Kernel#to_enum
* Use of this form is discouraged. Use Object#enum_for or Object#to_enum
* instead.
*
* e = Enumerator.new(ObjectSpace, :each_object)
......
*
* For example, continuing from the example in Object#to_enum:
*
* # See Kernel#to_enum for the definition of repeat
* # See Object#to_enum for the definition of repeat
* r = 1..Float::INFINITY
* r.repeat(2).first(5) # => [1, 1, 2, 2, 3]
* r.repeat(2).class # => Enumerator
error.c
/*
* call-seq:
* warn(msg, ...) -> nil
* warn(*msgs, uplevel: nil) -> nil
*
* If warnings have been disabled (for example with the
* <code>-W0</code> flag), does nothing. Otherwise,
......
* * IndexError
* * KeyError
* * StopIteration
* * ClosedQueueError
* * LocalJumpError
* * NameError
* * NoMethodError
object.c
* 3.next.then {|x| x**x }.to_s #=> "256"
* "my string".yield_self {|s| s.upcase } #=> "MY STRING"
*
* Good usage for +yield_self+ is value piping in method chains:
* Good usage for +then+ is value piping in method chains:
*
* require 'open-uri'
* require 'json'
*
* construct_url(arguments).
* yield_self {|url| open(url).read }.
* yield_self {|response| JSON.parse(response) }
* then {|url| open(url).read }.
* then {|response| JSON.parse(response) }
*
* When called without block, the method returns +Enumerator+,
* which can be used, for example, for conditional
* circuit-breaking:
*
* # meets condition, no-op
* 1.yield_self.detect(&:odd?) # => 1
* 1.then.detect(&:odd?) # => 1
* # does not meet condition, drop value
* 2.yield_self.detect(&:odd?) # => nil
* 2.then.detect(&:odd?) # => nil
*
*/
    (1-1/1)