KCons wrote: > I'm sure there is some far superior prior art out there somewhere, but > this is a useful little hack I threw together today that I thought > someone else might find interesting. > > I wanted to do a little task every few seconds for some duration of > time, and after a bit of overkill I came up with a little library that > lets me do stuff like: > > every( 5.seconds ).for( 2.days ) { puts "Chunky bacon, k?" } > > or > > every( 2.minutes ).until ( Time.now + 4.hours ) { dance_for_a_while } > > or even > > class String > def gradual_out( n = 1 ) > ix = 0 > every( n.seconds ).unless(lambda {ix >= size}) do > print self[ix].chr > ix += 1 > end > end > end > > "Tuesday is the new Thursday".gradual_out( 400.milliseconds ) > > > Fun to play with. > Again, just a quick hack, so if you see any glaring issues or useful > improvements, let me know, because I'm sure I'll find use for it again > later. > <snip> Hello KCons: Wow... I'm just (8 hours into both) learning Python and Ruby and I didn't realize how powerful / extensible Ruby was until I saw your example. Great stuff! Thanks, Michael