revised pager.....

2011-02-20 Thread Gary Kline

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

  ruby script appended.


#!/usr/bin/env ruby
require 'optparse'

pagesize = 15
count = 0

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

loop do
  if count == 0
 puts(\n[][][][][][][][][][][][][][][][][][][][][][][])
 count += 1
  end

  pagesize.times do
if line = gets
  puts line
  if count % 15 == 0
 puts(===)
 count = 0
 end
else
  exit
end
  end
  puts(\n[][][][][][][][][][][][][][][][][][][][][][][]\n\n)
  print More...
  system stty raw
  STDIN.getc
  system stty -raw
end

___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org


Re: revised pager.....

2011-02-20 Thread Chip Camden
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