aboutsummaryrefslogtreecommitdiffstats
path: root/sample/parsearg.rb
blob: e7e2b7a7f3acb47e8b50b0d255984370dd628e44 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#
#		parseargs.rb - parse arguments
#			$Release Version: $
#			$Revision: 1.3 $
#			$Date: 1994/02/15 05:16:21 $
#			by Yasuo OHBA(STAFS Development Room)
#
# --
# �����̉�͂���, $OPT_?? �ɒl���Z�b�g���܂�. 
# ����I�������ꍇ��, �Z�b�g���ꂽ�I�v�V�����̐���Ԃ��܂�. 
#
#    parseArgs(argc, single_opts, *opts)
#
#	ex. sample [options] filename
#	    options ...
#		-f -x --version --geometry 100x200 -d unix:0.0
#			    ��
#	parseArgs(1, nil, "fx", "version", "geometry:", "d:")
#
#    ������: 
#	�I�v�V�����ȊO�̍Œ�����̐�
#    ������: 
#	�I�v�V�����̕K�v���c�K���K�v�Ȃ� %TRUE �����łȂ���� %FALSE.
#    ��O����: 
#	-f �� -x (= -fx) �̗l�Ȉꕶ���̃I�v�V�����̎w������܂�. 
#	�����ň������Ȃ��Ƃ��� nil �̎w�肪�K�v�ł�. 
#    ��l�����ȍ~:
#	�����O�l�[���̃I�v�V������, �����̔����I�v�V�����̎w������܂�. 
#	--version ��, --geometry 300x400 ��, -d host:0.0 ���ł�. 
#	�����𔺂��w��� ":" ��K���t���Ă�������. 
#
#    �I�v�V�����̎w�肪�������ꍇ, �ϐ� $OPT_?? �� non-nil ��������, ���̃I
#    �v�V�����̈������Z�b�g����܂�. 
#	-f -> $OPT_f = %TRUE
#	--geometry 300x400 -> $OPT_geometry = 300x400
#
#    usage ���g�������ꍇ��, $USAGE �� usage() ���w�肵�܂�. 
#	def usage()
#	    �c
#	end
#	$USAGE = 'usage'
#    usage ��, --help ���w�肳�ꂽ��, �Ԉ�����w����������ɕ\�����܂�. 
#
#    - �������� -- ��, ����ȍ~, �S�ăI�v�V�����̉�͂����܂���. 
#

$RCS_ID="$Header: /var/ohba/RCS/parseargs.rb,v 1.3 1994/02/15 05:16:21 ohba Exp ohba $"

load("getopts.rb")

def printUsageAndExit()
  if $USAGE
    apply($USAGE)
  end
  exit()
end

def parseArgs(argc, nopt, single_opts, *opts)
  if ((noOptions = getopts(single_opts, *opts)) == nil)
    printUsageAndExit()
  end
  if (nopt && noOptions == 0)
    printUsageAndExit()
  end
  if ($ARGV.length < argc)
    printUsageAndExit()
  end
  return noOptions
end