summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBurdette Lamar <BurdetteLamar@Yahoo.com>2020-09-29 19:15:39 -0500
committerGitHub <noreply@github.com>2020-09-29 19:15:39 -0500
commit48b94b791997881929c739c64f95ac30f3fd0bb9 (patch)
tree68718def906f7b606c3bc30a889701f0736c67a4
parent0fb1a67bda8df28ed954f4c4eb7782e11a35beb9 (diff)
Enhanced RDoc for String#upto (#3603)
* Enhanced RDoc for String#upto
Notes
Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
-rw-r--r--string.c52
1 files changed, 23 insertions, 29 deletions
diff --git a/string.c b/string.c
index 4ffd57cd5e..1f8e1f4128 100644
--- a/string.c
+++ b/string.c
@@ -4344,35 +4344,29 @@ str_upto_i(VALUE str, VALUE arg)
/*
* call-seq:
- * str.upto(other_str, exclusive=false) {|s| block } -> str
- * str.upto(other_str, exclusive=false) -> an_enumerator
- *
- * Iterates through successive values, starting at <i>str</i> and
- * ending at <i>other_str</i> inclusive, passing each value in turn
- * to the block. The String#succ method is used to generate each
- * value. If optional second argument exclusive is omitted or is
- * false, the last value will be included; otherwise it will be
- * excluded.
- *
- * If no block is given, an enumerator is returned instead.
- *
- * "a8".upto("b6") {|s| print s, ' ' }
- * for s in "a8".."b6"
- * print s, ' '
- * end
- *
- * <em>produces:</em>
- *
- * a8 a9 b0 b1 b2 b3 b4 b5 b6
- * a8 a9 b0 b1 b2 b3 b4 b5 b6
- *
- * If <i>str</i> and <i>other_str</i> contains only ascii numeric characters,
- * both are recognized as decimal numbers. In addition, the width of
- * string (e.g. leading zeros) is handled appropriately.
- *
- * "9".upto("11").to_a #=> ["9", "10", "11"]
- * "25".upto("5").to_a #=> []
- * "07".upto("11").to_a #=> ["07", "08", "09", "10", "11"]
+ * string.upto(other_string, exclusive = false) {|string| ... } -> self
+ * string.upto(other_string, exclusive = false) -> new_enumerator
+ *
+ * With a block given, calls the block with each \String value
+ * returned by successive calls to String#succ;
+ * the first value is +self+, the next is <tt>self.succ</tt>, and so on;
+ * the sequence terminates when value +other_string+ is reached;
+ * returns +self+:
+ * 'a8'.upto('b6') {|s| print s, ' ' } # => "a8"
+ * Output:
+ * a8 a9 b0 b1 b2 b3 b4 b5 b6
+ *
+ * If argument +exclusive+ is given as a truthy object, the last value is omitted:
+ * 'a8'.upto('b6', true) {|s| print s, ' ' } # => "a8"
+ * Output:
+ * a8 a9 b0 b1 b2 b3 b4 b5
+ *
+ * If +other_string+ would not be reached, does not call the block:
+ * '25'.upto('5') {|s| fail s }
+ * 'aa'.upto('a') {|s| fail s }
+ *
+ * With no block given, returns a new \Enumerator:
+ * 'a8'.upto('b6') # => #<Enumerator: "a8":upto("b6")>
*/
static VALUE