Hello,
Surely there is a way to find an interval in a sorted array
without resorting to indices? (I’m drawing a blank.)
require ‘test/unit’
class Array
def interval_containing( x )
# elegant code goes here
end
end
class TestIntervalFinder < Test::Unit::TestCase
def test_finds_intervals
data = [ 0, 1, 2 ].sort
assert_equal [0], data.interval_containing(-0.2)
assert_equal [0], data.interval_containing( 0.0)
assert_equal [0,1], data.interval_containing( 0.5)
assert_equal [1], data.interval_containing( 1.0)
assert_equal [1,2], data.interval_containing( 1.6)
assert_equal [2], data.interval_containing( 2.0)
assert_equal [2], data.interval_containing( 5.0)
end
end
Thanks,