Quoth Gary Kline on Sunday, 20 February 2011: > THis is to the entire list, mostly to Chip. It is o8.rb, my > very slightly tweaked version of what you ma/// rather, what i > found and began messing with a couple, three hours ago. > > I searched++ and could not find the C equivalent of > "if counter % N == 0" in ruby. For some reason, use of parens > in ruby seems to be discouraged. Anyway, I would have coded that > ruby line as > > if ( counter % 15) == 0 > > but didn't want to risk it since i don't know ruby. > > Anyway, o8.rb included. This version, using the "[][][][][]" to > emulate a bar, makes reading a reasonably-sized bunch of text > much easier. > > Thanks again for your help. > > -- > Gary Kline kl...@thought.org http://www.thought.org Public Service Unix >
Try this version instead. There's no need to find the % 15, we're already paging on the specified number. #!/usr/bin/env ruby require 'optparse' def banner print "\n[][][][][][][][][][][][][][][][][][][][]\n\n" end pagesize = 15 optparse = OptionParser.new do |opts| opts.banner = 'usage: npg [-n pagesize] file...' opts.on('-n', '--numlines pagesize', 'Specify page size in number of lines') do |n| pagesize = n.to_i end end begin optparse.parse! rescue OptionParser::InvalidOption, OptionParser::MissingArgument => e puts e puts optparse exit 1 end banner loop do pagesize.times do if line = gets puts line else banner exit end end banner print "More..." system "stty raw" STDIN.getc system "stty -raw" banner end -- Sterling (Chip) Camden | sterl...@camdensoftware.com | 2048D/3A978E4F http://chipsquips.com | http://camdensoftware.com | http://chipstips.com
pgpUYxwTqYAEN.pgp
Description: PGP signature