random-accessible¶ ↑
RandomAccessible
mixin provides all methods of Array
to your classes (regard as high-functioning edition of Enumerable). As Enumerable mixin requests “each” method, RandomAccessible
requests methods below.
-
size (same as Array#size)
-
read_access (similar to Array#[])
-
replace_access (similar to Array#[]=)
-
shrink (similar to Array#pop)
size method returns the number of objects which the object contains. Note that this method must behave same as Array’s.
read_access(pos) is similar to Array#[]. But the module guarantees that the argument is an Integer larger than or equal 0 and less than its size.
replace_access(pos, val) is similar to Array#[]=. The module guarantees that the argument pos is an Integer and 0 <= pos < size.
shrink is similar to Array#pop. But the method can return anything.
Installation¶ ↑
gem install random-accessible
Limitation¶ ↑
Behavior of RandomAccessible#eql?
is different from Array’s. The method always returns false if the argument does not include RandomReadable
(RandomAccessible
includes RandomReadable
). Also note that Array#eql? returns false if the arguent is RandomAccessible
.
License¶ ↑
This library is distributed under the dual license of the Ruby license (in the narrow sense) and the 2-clause BSD license. Please see www.ruby-lang.org and BSDL. Copyright © 2011, Natsuki Kawai.