Difference between revisions of "Skel.rb"
Jump to navigation
Jump to search
PeterHarding (talk | contribs) |
PeterHarding (talk | contribs) |
||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
= | =Skeleton Ruby Script= | ||
See - http://www.ruby-doc.org/stdlib-1.9.3/libdoc/getoptlong/rdoc/GetoptLong.html | See - http://www.ruby-doc.org/stdlib-1.9.3/libdoc/getoptlong/rdoc/GetoptLong.html | ||
Line 57: | Line 57: | ||
puts "verbose_flg = #{verbose_flg}" | puts "verbose_flg = #{verbose_flg}" | ||
puts "debug_level = #{debug_level}" | puts "debug_level = #{debug_level}" | ||
if ARGV.length >= 1 | |||
dir = ARGV.shift | |||
Dir.chdir(dir) | |||
end | |||
puts Dir.pwd | |||
# Dir["config.?"] #=> ["config.h"] | |||
# Dir.glob("config.?") #=> ["config.h"] | |||
# Dir.glob("*.[a-z][a-z]") #=> ["main.rb"] | |||
# Dir.glob("*.[^r]*") #=> ["config.h"] | |||
# Dir.glob("*.{rb,h}") #=> ["main.rb", "config.h"] | |||
# Dir.glob("*") #=> ["config.h", "main.rb"] | |||
# Dir.glob("*", File::FNM_DOTMATCH) #=> [".", "..", "config.h", "main.rb"] | |||
rbfiles = File.join("**", "*.rb") | |||
Dir.glob(rbfiles) | |||
</pre> | </pre> |
Latest revision as of 10:56, 30 July 2012
Skeleton Ruby Script
See - http://www.ruby-doc.org/stdlib-1.9.3/libdoc/getoptlong/rdoc/GetoptLong.html
#!/usr/bin/env ruby require 'getoptlong' # The parameters can be in any order unless ARGV.length >= 0 puts "Usage: skel.rb [-v] [-d] -n<port_no> -u<user_name> -p<password>" exit end host_name = port_no = user_name = password = '' # specify the options we accept and initialize the option parser verbose_flg = false debug_level = 0 opts = GetoptLong.new( [ "--hostname", "-h", GetoptLong::REQUIRED_ARGUMENT ], [ "--port", "-n", GetoptLong::REQUIRED_ARGUMENT ], [ "--username", "-u", GetoptLong::REQUIRED_ARGUMENT ], [ "--pass", "-p", GetoptLong::REQUIRED_ARGUMENT ], [ "--verbose", "-v", GetoptLong::NO_ARGUMENT ], [ "--inc-debug-level", "-d", GetoptLong::NO_ARGUMENT ] [ "--set-debug-level", "-D", GetoptLong::REQUIRED_ARGUMENT ] ) # process the parsed options opts.each do |opt, arg| case opt when '--hostname' host_name = arg when '--port' port_no = arg when '--username' user_name = arg when '--pass' password = arg when '--inc-debug-level' debug_level += 1 when '--set-debug-level' debug_level = int(arg) when '--verbose' verbose_flg = true end end puts "verbose_flg = #{verbose_flg}" puts "debug_level = #{debug_level}" if ARGV.length >= 1 dir = ARGV.shift Dir.chdir(dir) end puts Dir.pwd # Dir["config.?"] #=> ["config.h"] # Dir.glob("config.?") #=> ["config.h"] # Dir.glob("*.[a-z][a-z]") #=> ["main.rb"] # Dir.glob("*.[^r]*") #=> ["config.h"] # Dir.glob("*.{rb,h}") #=> ["main.rb", "config.h"] # Dir.glob("*") #=> ["config.h", "main.rb"] # Dir.glob("*", File::FNM_DOTMATCH) #=> [".", "..", "config.h", "main.rb"] rbfiles = File.join("**", "*.rb") Dir.glob(rbfiles)