class ZSet

Attributes

entries[R]

Public Class Methods

new() click to toggle source

i’ve skipped refactoring this code to work in O(logn)

# File lib/rubbis/zset.rb, line 3
def initialize
        @entries = []
end

Public Instance Methods

add(score, member) click to toggle source
# File lib/rubbis/zset.rb, line 7
def add(score, member)
        entries << [score, member]
        entries.sort!
end
range(start, stop) click to toggle source
# File lib/rubbis/zset.rb, line 12
def range(start, stop)
        entries[start..stop].map {|x| x[1]}
end
rank(member) click to toggle source
# File lib/rubbis/zset.rb, line 16
def rank(member)
        entries.index {|x| x[1] == member}
end
score(member) click to toggle source
# File lib/rubbis/zset.rb, line 20
def score(member)
        entries.detect {|x| x[1] == member}[0]
end