From c04ad1d7e4ec54781b2eb9b07d4eaf7d4cd21c44 Mon Sep 17 00:00:00 2001 From: knu Date: Thu, 10 Apr 2008 10:25:44 +0000 Subject: [PATCH] * array.c (rb_ary_pop_m, rb_ary_shift_m): Update documents for #pop() and #shift(). * array.c (rb_ary_slice_bang): Update document. Assigning array[*args]= nil no longer removes elements. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15950 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 8 ++++++++ array.c | 20 +++++++++++--------- 2 files changed, 19 insertions(+), 9 deletions(-) diff --git a/ChangeLog b/ChangeLog index a139133812..735ce25348 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +Thu Apr 10 19:23:55 2008 Akinori MUSHA + + * array.c (rb_ary_pop_m, rb_ary_shift_m): Update documents for + #pop() and #shift(). + + * array.c (rb_ary_slice_bang): Update document. Assigning + array[*args]= nil no longer removes elements. + Thu Apr 10 16:58:44 2008 Tanaka Akira * marshal.c (w_object): TYPE_USERDEF assigns id for ivars first. diff --git a/array.c b/array.c index da19f1c6a6..644d5ee922 100644 --- a/array.c +++ b/array.c @@ -498,10 +498,14 @@ rb_ary_pop(VALUE ary) /* * call-seq: - * array.pop -> obj or nil + * array.pop -> obj or nil + * array.pop(n) -> array * * Removes the last element from self and returns it, or * nil if the array is empty. + * + * If a number _n_ is given, returns an array of the last n elements + * (or less) just like array.slice(-n, n) does. * * a = [ "a", "b", "c", "d" ] * a.pop #=> "d" @@ -549,11 +553,15 @@ rb_ary_shift(VALUE ary) /* * call-seq: - * array.shift -> obj or nil + * array.shift -> obj or nil + * array.shift(n) -> array * * Returns the first element of self and removes it (shifting all * other elements down by one). Returns nil if the array * is empty. + * + * If a number _n_ is given, returns an array of the first n elements + * (or less) just like array.slice(0, n) does. * * args = [ "-m", "-q", "filename" ] * args.shift #=> "-m" @@ -1759,13 +1767,7 @@ rb_ary_delete_at_m(VALUE ary, VALUE pos) * * Deletes the element(s) given by an index (optionally with a length) * or by a range. Returns the deleted object, subarray, or - * nil if the index is out of range. Equivalent to: - * - * def slice!(*args) - * result = self[*args] - * self[*args] = nil - * result - * end + * nil if the index is out of range. * * a = [ "a", "b", "c" ] * a.slice!(1) #=> "b"