ForNext
Only Do What Only You Can Do
199. getopt
Hyperpolyglot Interpreted Languages: PHP, Perl, Python, Ruby より (2012.05.08)
VBScript
JScript
Perl
use Getopt::Long; my ($src, $help); sub usage { print "usage: $0 --f SRC\n"; exit -1; } GetOptions("file=s" => \$src, "help" => \$help); usage if $help;
PHP
$opts = getopt("f:h", array("file:", "help")); if ( array_key_exists("h", $opts) || array_key_exists("help", $opts) ) { $script = $_SERVER["SCRIPT_NAME"]; echo "usage: $script -f SRC -h\n"; exit -1; } $src = $opts["f"] ? $opts["f"] : $opts["file"];
Python
import argparse parser = argparse.ArgumentParser() parser.add_argument('--file', '-f', dest='file') args = parser.parse_args() src = args.file
Ruby
require 'getoptlong' opts = GetoptLong.new( ['--help', '-h', GetoptLong::NO_ARGUMENT], ['--file', '-f', GetoptLong::REQUIRED_ARGUMENT] ) opts.each do |opt, arg| case opt when '--file' src = arg when '--help' puts "usage: #{$0} -f SRC" exit -1 end end