From: Earle Clubb Date: 2007-09-29T04:07:40+09:00 Subject: sleep for lesser of two values I have a loop that runs for a variable amount of time, as defined by @duration. I need to re-execute the command every 15 seconds for the length of @duration, which is a float and can have any value. Can anyone think of a more elegant way to do this than the code below? end_time = Time.now + @duration while (t = Time.now) < end_time # execute command sleep((15 < (end_time - t)) ? 15 : (end_time - t)) end Thanks, Earle -- Posted via http://www.ruby-forum.com/.