Forum: Ruby Re: Finding an interval in a sorted array?

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
F3b7b8756d0c7f71cc7460cc33aefaee?d=identicon&s=25 Berger, Daniel (Guest)
on 2006-05-05 20:56
(Received via mailing list)
> without resorting to indices?  (I'm drawing a blank.)
<snip>

Here's my solution.  It may be naive, but it passes your tests:

class Array
   def interval_containing(num)
      return [max] if num >= self.max
      return [min] if num <= self.min
      values_at((num.floor)..(num.ceil))
   end
end

C:\>ruby test.rb
Loaded suite test
Started
.
Finished in 0.0 seconds.

1 tests, 7 assertions, 0 failures, 0 errors


This communication is the property of Qwest and may contain confidential
or
privileged information. Unauthorized use of this communication is
strictly
prohibited and may be unlawful.  If you have received this communication
in error, please immediately notify the sender by reply e-mail and
destroy
all copies of the communication and any attachments.
This topic is locked and can not be replied to.