Prev: Mr Bones
Next: railroad in netbeans
From: Potato Peelings on 9 Jun 2010 04:39 Ruby version : 1.9.1.376 OS : Windows I'm checking http://ruby-doc.org/core/classes/Array.html#M002161 (Array element assignment) which says ...If nil is used in the second and third form, *deletes* elements from self... with the example a[1..-1] = nil #=> ["A"] This doesn't seem to agree with how Ruby works now. puts a.to_s gives me ["A", nil] nil seems to work the way any other assignment would. The splice is just replaced with the new element. Am I reading this wrong? -- Posted via http://www.ruby-forum.com/.
From: botp on 9 Jun 2010 06:31 On Wed, Jun 9, 2010 at 4:39 PM, Potato Peelings <potato.peelings(a)gmail.com> wrote: > I'm checking http://ruby-doc.org/core/classes/Array.html#M002161 (Array that's an old and buggy doc try this 1.9 doc http://ruby-doc.org/core-1.9/classes/Array.html#M000418 btw, you can also use ri eg $ ri Array#[]= Array#[]= (from ruby core) ------------------------------------------------------------------------------ ary[index] = obj -> obj ary[start, length] = obj or other_ary or nil -> obj or other_ary or nil ary[range] = obj or other_ary or nil -> obj or other_ary or nil ------------------------------------------------------------------------------ Element Assignment---Sets the element at index, or replaces a subarray starting at start and continuing for length elements, or replaces a subarray specified by range. If indices are greater than the current capacity of the array, the array grows automatically. A negative indices will count backward from the end of the array. Inserts elements if length is zero. An IndexError is raised if a negative index points past the beginning of the array. See also Array#push, and Array#unshift. a = Array.new a[4] = "4"; #=> [nil, nil, nil, nil, "4"] a[0, 3] = [ 'a', 'b', 'c' ] #=> ["a", "b", "c", nil, "4"] a[1..2] = [ 1, 2 ] #=> ["a", 1, 2, nil, "4"] a[0, 2] = "?" #=> ["?", 2, nil, "4"] a[0..2] = "A" #=> ["A", "4"] a[-1] = "Z" #=> ["A", "Z"] a[1..-1] = nil #=> ["A", nil] a[1..-1] = [] #=> ["A"] best regards -botp
From: Potato Peelings on 10 Jun 2010 00:12 botp wrote: > that's an old and buggy doc > > try this 1.9 doc > http://ruby-doc.org/core-1.9/classes/Array.html#M000418 Thanks! That resolves it. > btw, you can also use ri This is nice. Thanks again. -- Posted via http://www.ruby-forum.com/.
|
Pages: 1 Prev: Mr Bones Next: railroad in netbeans |