зеркало из https://github.com/github/ruby.git
Unbundled samples for getoptlong
This commit is contained in:
Родитель
3f5016178c
Коммит
4b6936aa04
|
@ -1,9 +0,0 @@
|
|||
require 'getoptlong'
|
||||
|
||||
options = GetoptLong.new(
|
||||
['--xxx', GetoptLong::NO_ARGUMENT],
|
||||
['--xyz', GetoptLong::NO_ARGUMENT]
|
||||
)
|
||||
options.each do |option, argument|
|
||||
p [option, argument]
|
||||
end
|
|
@ -1,8 +0,0 @@
|
|||
require 'getoptlong'
|
||||
|
||||
options = GetoptLong.new(
|
||||
['--xxx', '-x', '--aaa', '-a', '-p', GetoptLong::NO_ARGUMENT]
|
||||
)
|
||||
options.each do |option, argument|
|
||||
p [option, argument]
|
||||
end
|
|
@ -1,12 +0,0 @@
|
|||
require 'getoptlong'
|
||||
|
||||
options = GetoptLong.new(
|
||||
['--xxx', GetoptLong::REQUIRED_ARGUMENT],
|
||||
['--yyy', GetoptLong::OPTIONAL_ARGUMENT],
|
||||
['--zzz', GetoptLong::NO_ARGUMENT]
|
||||
)
|
||||
puts "Original ARGV: #{ARGV}"
|
||||
options.each do |option, argument|
|
||||
p [option, argument]
|
||||
end
|
||||
puts "Remaining ARGV: #{ARGV}"
|
|
@ -1,12 +0,0 @@
|
|||
require 'getoptlong'
|
||||
|
||||
options = GetoptLong.new(
|
||||
['--xxx', '-x', GetoptLong::REQUIRED_ARGUMENT],
|
||||
['--yyy', '-y', GetoptLong::OPTIONAL_ARGUMENT],
|
||||
['--zzz', '-z',GetoptLong::NO_ARGUMENT]
|
||||
)
|
||||
puts "Original ARGV: #{ARGV}"
|
||||
options.each do |option, argument|
|
||||
p [option, argument]
|
||||
end
|
||||
puts "Remaining ARGV: #{ARGV}"
|
|
@ -1,62 +0,0 @@
|
|||
require 'getoptlong'
|
||||
|
||||
options = GetoptLong.new(
|
||||
['--number', '-n', GetoptLong::REQUIRED_ARGUMENT],
|
||||
['--verbose', '-v', GetoptLong::OPTIONAL_ARGUMENT],
|
||||
['--help', '-h', GetoptLong::NO_ARGUMENT]
|
||||
)
|
||||
|
||||
def help(status = 0)
|
||||
puts <<~HELP
|
||||
Usage:
|
||||
|
||||
-n n, --number n:
|
||||
Compute Fibonacci number for n.
|
||||
-v [boolean], --verbose [boolean]:
|
||||
Show intermediate results; default is 'false'.
|
||||
-h, --help:
|
||||
Show this help.
|
||||
HELP
|
||||
exit(status)
|
||||
end
|
||||
|
||||
def print_fibonacci (number)
|
||||
return 0 if number == 0
|
||||
return 1 if number == 1 or number == 2
|
||||
i = 0
|
||||
j = 1
|
||||
(2..number).each do
|
||||
k = i + j
|
||||
i = j
|
||||
j = k
|
||||
puts j if @verbose
|
||||
end
|
||||
puts j unless @verbose
|
||||
end
|
||||
|
||||
options.each do |option, argument|
|
||||
case option
|
||||
when '--number'
|
||||
@number = argument.to_i
|
||||
when '--verbose'
|
||||
@verbose = if argument.empty?
|
||||
true
|
||||
elsif argument.match(/true/i)
|
||||
true
|
||||
elsif argument.match(/false/i)
|
||||
false
|
||||
else
|
||||
puts '--verbose argument must be true or false'
|
||||
help(255)
|
||||
end
|
||||
when '--help'
|
||||
help
|
||||
end
|
||||
end
|
||||
|
||||
unless @number
|
||||
puts 'Option --number is required.'
|
||||
help(255)
|
||||
end
|
||||
|
||||
print_fibonacci(@number)
|
|
@ -1,12 +0,0 @@
|
|||
require 'getoptlong'
|
||||
|
||||
options = GetoptLong.new(
|
||||
['--xxx', GetoptLong::REQUIRED_ARGUMENT],
|
||||
['--yyy', GetoptLong::OPTIONAL_ARGUMENT],
|
||||
['--zzz', GetoptLong::NO_ARGUMENT]
|
||||
)
|
||||
puts "Original ARGV: #{ARGV}"
|
||||
options.each do |option, argument|
|
||||
p [option, argument]
|
||||
end
|
||||
puts "Remaining ARGV: #{ARGV}"
|
|
@ -1,13 +0,0 @@
|
|||
require 'getoptlong'
|
||||
|
||||
options = GetoptLong.new(
|
||||
['--xxx', GetoptLong::REQUIRED_ARGUMENT],
|
||||
['--yyy', GetoptLong::OPTIONAL_ARGUMENT],
|
||||
['--zzz', GetoptLong::NO_ARGUMENT]
|
||||
)
|
||||
options.ordering = GetoptLong::REQUIRE_ORDER
|
||||
puts "Original ARGV: #{ARGV}"
|
||||
options.each do |option, argument|
|
||||
p [option, argument]
|
||||
end
|
||||
puts "Remaining ARGV: #{ARGV}"
|
|
@ -1,13 +0,0 @@
|
|||
require 'getoptlong'
|
||||
|
||||
options = GetoptLong.new(
|
||||
['--xxx', GetoptLong::REQUIRED_ARGUMENT],
|
||||
['--yyy', GetoptLong::OPTIONAL_ARGUMENT],
|
||||
['--zzz', GetoptLong::NO_ARGUMENT]
|
||||
)
|
||||
options.ordering = GetoptLong::RETURN_IN_ORDER
|
||||
puts "Original ARGV: #{ARGV}"
|
||||
options.each do |option, argument|
|
||||
p [option, argument]
|
||||
end
|
||||
puts "Remaining ARGV: #{ARGV}"
|
|
@ -1,7 +0,0 @@
|
|||
require 'getoptlong'
|
||||
|
||||
options = GetoptLong.new(
|
||||
['--number', '-n', GetoptLong::REQUIRED_ARGUMENT],
|
||||
['--verbose', '-v', GetoptLong::OPTIONAL_ARGUMENT],
|
||||
['--help', '-h', GetoptLong::NO_ARGUMENT]
|
||||
)
|
|
@ -1,10 +0,0 @@
|
|||
require 'getoptlong'
|
||||
|
||||
options = GetoptLong.new(
|
||||
['--xxx', GetoptLong::REQUIRED_ARGUMENT],
|
||||
['--yyy', GetoptLong::OPTIONAL_ARGUMENT],
|
||||
['--zzz', GetoptLong::NO_ARGUMENT]
|
||||
)
|
||||
options.each do |option, argument|
|
||||
p [option, argument]
|
||||
end
|
Загрузка…
Ссылка в новой задаче