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