Hey all,
When I do:
@posts = Post.find(:all)[0,5]
it gives me the first 5 posts
But when I do:
@posts = Post.find(:all)[10,20]
it gives me something like 20 posts or more, shouldn’t this give me only
10
post from 10 to 20?
what am I doing wrong?
thanx in advance
Pat
On Oct 15, 7:32 pm, “Patrick A.” [email protected] wrote:
thanx in advance
Pat
No, on an array it works like this…
array[offset, length]
So Post.find(:all)[10,20] will give you 20 posts starting at number 10.
_Kevin
But when I do:
@posts = Post.find(:all)[10,20]
it gives me something like 20 posts or more, shouldn’t this give me only
10
post from 10 to 20?
what am I doing wrong?
You want to use the range syntax, like arr[10…20]
On Oct 15, 2006, at 5:30 PM, _Kevin wrote:
post from 10 to 20?
what am I doing wrong?
No, on an array it works like this…
array[offset, length]
So Post.find(:all)[10,20] will give you 20 posts starting at number
10.
$ ri Array#[]
--------------------------------------------------------------- Array#[]
array[index] → obj or nil
array[start, length] → an_array or nil
array[range] → an_array or nil
array.slice(index) → obj or nil
array.slice(start, length) → an_array or nil
array.slice(range) → an_array or nil
Element Reference---Returns the element at index, or returns a
subarray starting at start and continuing for length elements, or
returns a subarray specified by range. Negative indices count
backward from the end of the array (-1 is the last element).
Returns nil if the index (or starting index) are out of range.
a = [ "a", "b", "c", "d", "e" ]
a[2] + a[0] + a[1] #=> "cab"
a[6] #=> nil
a[1, 2] #=> [ "b", "c" ]
a[1..3] #=> [ "b", "c", "d" ]
a[4..7] #=> [ "e" ]
a[6..10] #=> nil
a[-3, 3] #=> [ "c", "d", "e" ]
# special cases
a[5] #=> nil
a[5, 1] #=> []
a[5..10] #=> []
–
Eric H. - [email protected] - http://blog.segment7.net
This implementation is HODEL-HASH-9600 compliant
http://trackmap.robotcoop.com