ruby-dcl 1.7.1 → 1.8.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/ChangeLog +1149 -365
- data/LICENSE.txt +1 -1
- data/Rakefile +7 -11
- data/demo/gokuraku/hop/hop.rb +1 -2
- data/demo/gokuraku/jump/jump1.rb +1 -2
- data/demo/gokuraku/jump/jump2.rb +2 -3
- data/demo/gokuraku/layout/lay1.rb +1 -2
- data/demo/gokuraku/layout/lay2.rb +1 -2
- data/demo/gokuraku/step/step0.rb +1 -2
- data/demo/gokuraku/step/step1.rb +1 -2
- data/demo/gokuraku/step/step2.rb +1 -2
- data/demo/gokuraku/u1d/u1d1.rb +1 -2
- data/demo/gokuraku/u1d/u1d2.rb +1 -2
- data/demo/gokuraku/u2d/u2d1.rb +1 -2
- data/demo/gokuraku/u2d/u2d2.rb +1 -2
- data/demo/gokuraku/u2d/u2d3.rb +1 -2
- data/demo/gokuraku/u2d/u2d4.rb +1 -2
- data/demo/grph1/scpack/scpkt2.rb +1 -2
- data/demo/grph1/scpack/scpkt3.rb +1 -2
- data/demo/grph1/scpack/scpkt6.rb +1 -2
- data/demo/grph1/scpack/scpkt7.rb +1 -2
- data/demo/grph1/scpack/scpkt8.rb +1 -2
- data/demo/grph1/sgpack/sgfont.rb +2 -3
- data/demo/grph1/sgpack/sgfonz.rb +2 -3
- data/demo/grph1/sgpack/sgksx1.rb +1 -2
- data/demo/grph1/sgpack/sgksx2.rb +1 -2
- data/demo/grph1/sgpack/sgksx3.rb +1 -2
- data/demo/grph1/sgpack/sglidx.rb +1 -2
- data/demo/grph1/sgpack/sgltyp.rb +1 -2
- data/demo/grph1/sgpack/sgpk01.rb +1 -2
- data/demo/grph1/sgpack/sgpk02.rb +1 -2
- data/demo/grph1/sgpack/sgpk03.rb +1 -2
- data/demo/grph1/sgpack/sgpk04.rb +1 -2
- data/demo/grph1/sgpack/sgpk05.rb +1 -2
- data/demo/grph1/sgpack/sgpk06.rb +1 -2
- data/demo/grph1/sgpack/sgpk07.rb +9 -8
- data/demo/grph1/sgpack/sgpk08.rb +1 -2
- data/demo/grph1/sgpack/sgpk09.rb +1 -2
- data/demo/grph1/sgpack/sgpk10.rb +1 -2
- data/demo/grph1/sgpack/sgtclr.rb +1 -2
- data/demo/grph1/sgpack/sgtone.rb +1 -2
- data/demo/grph1/sgpack/sgtonz.rb +1 -2
- data/demo/grph1/slpack/slpk01.rb +1 -2
- data/demo/grph1/slpack/slpk02.rb +1 -2
- data/demo/grph1/slpack/slpk03.rb +1 -2
- data/demo/grph1/slpack/slpk04.rb +2 -3
- data/demo/grph2/grpack/grpk01.rb +1 -2
- data/demo/grph2/ucpack/ucpk01.rb +1 -2
- data/demo/grph2/ucpack/ucpk02.rb +1 -2
- data/demo/grph2/udegpk/u2df01.rb +1 -2
- data/demo/grph2/udegpk/u2df02.rb +1 -2
- data/demo/grph2/udegpk/u2df03.rb +3 -4
- data/demo/grph2/udegpk/u2df04.rb +1 -2
- data/demo/grph2/udegpk/u2df05.rb +1 -2
- data/demo/grph2/udegpk/u2df06.rb +1 -2
- data/demo/grph2/udegpk/u2df07.rb +1 -2
- data/demo/grph2/udegpk/u2df08.rb +1 -2
- data/demo/grph2/udegpk/u2df09b.rb +0 -1
- data/demo/grph2/udegpk/u2df09c.rb +0 -1
- data/demo/grph2/udegpk/u2df09e.rb +0 -1
- data/demo/grph2/udegpk/u2df09f.rb +0 -1
- data/demo/grph2/uipack/uipk01.rb +1 -2
- data/demo/grph2/uipack/uipk02.rb +26 -18
- data/demo/grph2/uipack/uipk03.rb +50 -0
- data/demo/grph2/ulpack/ulpk01.rb +1 -2
- data/demo/grph2/ulpack/ulpk01n.rb +1 -2
- data/demo/grph2/ulpack/ulpk02.rb +1 -2
- data/demo/grph2/ulpack/ulpk02n.rb +1 -2
- data/demo/grph2/umpack/test01.rb +1 -2
- data/demo/grph2/umpack/test02.rb +1 -2
- data/demo/grph2/umpack/test03.rb +1 -2
- data/demo/grph2/umpack/test04.rb +2 -3
- data/demo/grph2/umpack/test05.rb +1 -2
- data/demo/grph2/umpack/test05r.rb +86 -0
- data/demo/grph2/umpack/test06.rb +1 -2
- data/demo/grph2/umpack/test07.rb +1 -2
- data/demo/grph2/umpack/test08.rb +1 -2
- data/demo/grph2/umpack/test10.rb +0 -1
- data/demo/grph2/umpack/umpk01.rb +1 -2
- data/demo/grph2/umpack/umpk02.rb +1 -2
- data/demo/grph2/umpack/umpk03.rb +1 -2
- data/demo/grph2/umpack/umpk04.rb +1 -2
- data/demo/grph2/umpack/umpk05.rb +1 -2
- data/demo/grph2/uspack/uspk01.rb +1 -2
- data/demo/grph2/uspack/uspk02.rb +1 -2
- data/demo/grph2/uspack/uspk03.rb +1 -2
- data/demo/grph2/uspack/uspk04.rb +1 -2
- data/demo/grph2/uspack/uspk05.rb +1 -2
- data/demo/grph2/uspack/uspk06.rb +2 -3
- data/demo/grph2/uspack/uspk07.rb +1 -2
- data/demo/grph2/uspack/uspk08.rb +2 -3
- data/demo/grph2/uspack/uspk09.rb +1 -2
- data/demo/grph2/uspack/uspk10.rb +1 -2
- data/demo/grph2/uspack/uspk11.rb +1 -2
- data/demo/grph2/uspack/uspk12.rb +1 -2
- data/demo/grph2/uupack/uupk01.rb +1 -2
- data/demo/grph2/uupack/uupk02.rb +1 -2
- data/demo/grph2/uupack/uupk03.rb +1 -2
- data/demo/grph2/uupack/uupk04.rb +1 -2
- data/demo/grph2/uupack/uupk05.rb +1 -2
- data/demo/grph2/uupack/uupk06.rb +1 -2
- data/demo/grph2/uupack/uupk07.rb +1 -2
- data/demo/grph2/uxyzpk/uxyz01.rb +1 -2
- data/demo/grph2/uxyzpk/uxyz02.rb +1 -2
- data/demo/grph2/uxyzpk/uxyz03.rb +1 -2
- data/demo/grph2/uxyzpk/uxyz04.rb +1 -2
- data/demo/grph2/uxyzpk/uxyz05.rb +1 -2
- data/demo/grph2/uxyzpk/uxyz06.rb +1 -2
- data/demo/grph2/uxyzpk/uxyz07.rb +1 -2
- data/demo/grph2/uxyzpk/uxyz08.rb +1 -2
- data/demo/grph2/uxyzpk/uxyz09.rb +1 -2
- data/demo/grph2/uxyzpk/uxyz10.rb +1 -2
- data/demo/grph2/ximage/ximg01.rb +2 -3
- data/demo/math1/clsplib/cslb01.rb +1 -2
- data/demo/math2/fftlib/fftl01.rb +1 -2
- data/demo/math2/fftlib/fftl02.rb +1 -2
- data/demo/math2/intrlib/intr01.rb +1 -2
- data/demo/math2/rnmlib/rnml01.rb +1 -2
- data/demo/math2/vstlib/vstl01.rb +1 -2
- data/demo/math2/vstlib/vstl02.rb +1 -2
- data/demo/misc2/tmpack/tmpk01.rb +46 -0
- data/demo/misc2/tmpack/tmpk02.rb +58 -0
- data/demo/misc2/tmpack/tmpk03.rb +56 -0
- data/demo/rakuraku/color/color1.rb +1 -2
- data/demo/rakuraku/color/color2.rb +5 -5
- data/demo/rakuraku/color/color3.rb +1 -2
- data/demo/rakuraku/kihon/kihon1.rb +1 -2
- data/demo/rakuraku/kihon/kihon2.rb +1 -2
- data/demo/rakuraku/kihon/kihon3.rb +1 -2
- data/demo/rakuraku/kihon/kihon4.rb +1 -2
- data/demo/rakuraku/kihon/kihon5.rb +1 -2
- data/demo/rakuraku/kihon/kihon6.rb +1 -2
- data/demo/rakuraku/kihon/kihon7.rb +10 -5
- data/demo/rakuraku/kihon/kihon8.rb +1 -2
- data/demo/rakuraku/kihon/kihon9.rb +1 -2
- data/demo/rakuraku/kihon/kihona.rb +1 -2
- data/demo/rakuraku/kihon/kihonb.rb +12 -11
- data/demo/rakuraku/kihon/kihonc.rb +1 -2
- data/demo/rakuraku/layout/lay1.rb +1 -2
- data/demo/rakuraku/layout/lay2.rb +1 -2
- data/demo/rakuraku/layout/lay3.rb +1 -2
- data/demo/rakuraku/map3d/map3d1.rb +1 -2
- data/demo/rakuraku/map3d/map3d2.rb +1 -2
- data/demo/rakuraku/map3d/map3d3.rb +1 -2
- data/demo/rakuraku/map3d/map3d4.rb +1 -2
- data/demo/rakuraku/map3d/map3d5.rb +1 -2
- data/demo/rakuraku/map3d/map3d6.rb +0 -1
- data/demo/rakuraku/map3d/map3d7.rb +0 -1
- data/demo/rakuraku/miss/miss1.rb +1 -2
- data/demo/rakuraku/miss/miss2.rb +1 -2
- data/demo/rakuraku/quick/quick1.rb +1 -2
- data/demo/rakuraku/quick/quick2.rb +1 -2
- data/demo/rakuraku/quick/quick3.rb +1 -2
- data/demo/rakuraku/quick/quick4.rb +1 -2
- data/demo/rakuraku/quick/quick5.rb +1 -2
- data/demo/rakuraku/u2d/u2d1.rb +1 -2
- data/demo/rakuraku/u2d/u2d2.rb +1 -2
- data/demo/rakuraku/u2d/u2d3.rb +1 -2
- data/demo/rakuraku/u2d/u2d4.rb +1 -2
- data/demo/rakuraku/u2d/u2d5.rb +1 -2
- data/demo/rakuraku/u2d/u2d6.rb +1 -2
- data/demo/rakuraku/u2d/u2d7.rb +1 -2
- data/demo/rakuraku/uspack/uspac1.rb +2 -3
- data/demo/rakuraku/uspack/uspac2.rb +1 -2
- data/demo/rakuraku/uspack/uspac3.rb +2 -3
- data/demo/rakuraku/uspack/uspac4.rb +1 -2
- data/demo/rakuraku/uxyz/uxyz1.rb +1 -2
- data/demo/rakuraku/uxyz/uxyz2.rb +1 -2
- data/demo/rakuraku/uxyz/uxyz3.rb +1 -2
- data/demo/rakuraku/uxyz/uxyz4.rb +1 -2
- data/demo/rakuraku/uxyz/uxyz5.rb +1 -2
- data/demo/rakuraku/uxyz/uxyz6.rb +1 -2
- data/demo/rakuraku/uxyz/uxyz7.rb +1 -2
- data/demo/rakuraku/uxyz/uxyz8.rb +1 -2
- data/demo/rubydcloriginal/uemrkz1.rb +0 -1
- data/ext/numru/dcl_cary2obj.c +29 -24
- data/ext/numru/dcl_narrayed_funcs.c +21 -21
- data/ext/numru/dcl_obj2cary.c +9 -5
- data/ext/numru/dcl_rubydcloriginal.c +14 -5
- data/ext/numru/extconf.rb +73 -61
- data/ext/numru/grph1_csgi.c +38 -8
- data/ext/numru/grph1_scpack.c +49 -46
- data/ext/numru/grph1_sgpack.c +167 -164
- data/ext/numru/grph1_slpack.c +23 -20
- data/ext/numru/grph1_stpack.c +44 -41
- data/ext/numru/grph1_swpack.c +155 -92
- data/ext/numru/grph2_grpack.c +22 -19
- data/ext/numru/grph2_ucpack.c +55 -52
- data/ext/numru/grph2_udpack.c +61 -58
- data/ext/numru/grph2_uepack.c +60 -57
- data/ext/numru/grph2_ugpack.c +49 -46
- data/ext/numru/grph2_uhpack.c +25 -22
- data/ext/numru/grph2_uipack.c +57 -54
- data/ext/numru/grph2_ulpack.c +59 -56
- data/ext/numru/grph2_umpack.c +75 -72
- data/ext/numru/grph2_uspack.c +97 -94
- data/ext/numru/grph2_uupack.c +78 -75
- data/ext/numru/grph2_uvpack.c +25 -22
- data/ext/numru/grph2_uwpack.c +30 -27
- data/ext/numru/grph2_uxpack.c +23 -20
- data/ext/numru/grph2_uypack.c +23 -20
- data/ext/numru/grph2_uzpack.c +69 -66
- data/ext/numru/init.c.default +6 -2
- data/ext/numru/math1_blklib.c +13 -10
- data/ext/numru/math1_chrlib.c +16 -13
- data/ext/numru/math1_clsplib.c +13 -10
- data/ext/numru/math1_fnclib.c +16 -13
- data/ext/numru/math1_gnmlib.c +21 -18
- data/ext/numru/math1_gt2dlib.c +18 -15
- data/ext/numru/math1_ifalib.c +18 -15
- data/ext/numru/math1_indxlib.c +24 -21
- data/ext/numru/math1_intlib.c +13 -10
- data/ext/numru/math1_lrllib.c +33 -30
- data/ext/numru/math1_maplib.c +14 -11
- data/ext/numru/math1_oslib.c +11 -8
- data/ext/numru/math1_rfalib.c +39 -36
- data/ext/numru/math1_rfblib.c +12 -9
- data/ext/numru/math1_sublib.c +13 -10
- data/ext/numru/math1_syslib.c +82 -79
- data/ext/numru/math1_vialib.c +31 -28
- data/ext/numru/math1_viblib.c +24 -21
- data/ext/numru/math1_vralib.c +31 -28
- data/ext/numru/math1_vrblib.c +24 -21
- data/ext/numru/math1_xfclib.c +12 -9
- data/ext/numru/math2_fftlib.c +28 -25
- data/ext/numru/math2_intrlib.c +11 -8
- data/ext/numru/math2_rnmlib.c +12 -9
- data/ext/numru/math2_shtlib.c +34 -31
- data/ext/numru/math2_vstlib.c +15 -12
- data/ext/numru/misc1_chnlib.c +12 -9
- data/ext/numru/misc1_datelib.c +36 -33
- data/ext/numru/misc1_fmtlib.c +10 -7
- data/ext/numru/misc1_misclib.c +11 -8
- data/ext/numru/misc1_randlib.c +13 -10
- data/ext/numru/misc1_timelib.c +20 -17
- data/ext/numru/misc2_tmpack.c +1200 -0
- data/lib/numru/dcl/dcl.rb +5676 -0
- data/lib/numru/dcl/version.rb +5 -0
- data/lib/numru/dcl.rb +6 -5580
- data/ruby-dcl.gemspec +13 -9
- metadata +25 -99
- data/.gitignore +0 -13
- data/.rspec +0 -2
- data/.travis.yml +0 -3
- data/GenWrapper/Makefile +0 -15
- data/GenWrapper/cproto2init.rb +0 -41
- data/GenWrapper/dcl_narrayed_funcs.rb +0 -181
- data/GenWrapper/dcl_rb_footing +0 -29
- data/GenWrapper/dcl_rb_heading +0 -123
- data/GenWrapper/def.rb +0 -20
- data/GenWrapper/elim_ary_size.rb +0 -398
- data/GenWrapper/etc/p_header +0 -64
- data/GenWrapper/pparse.rb +0 -137
- data/GenWrapper/proto/Makefile +0 -36
- data/GenWrapper/proto/grph1_00 +0 -17
- data/GenWrapper/proto/grph1_csgi.fp +0 -27
- data/GenWrapper/proto/grph1_scpack.fp +0 -442
- data/GenWrapper/proto/grph1_sgpack.fp +0 -1772
- data/GenWrapper/proto/grph1_slpack.fp +0 -316
- data/GenWrapper/proto/grph1_stpack.fp +0 -455
- data/GenWrapper/proto/grph1_swpack.fp +0 -826
- data/GenWrapper/proto/grph2_00 +0 -16
- data/GenWrapper/proto/grph2_grpack.fp +0 -139
- data/GenWrapper/proto/grph2_ucpack.fp +0 -522
- data/GenWrapper/proto/grph2_udpack.fp +0 -692
- data/GenWrapper/proto/grph2_uepack.fp +0 -601
- data/GenWrapper/proto/grph2_ugpack.fp +0 -436
- data/GenWrapper/proto/grph2_uhpack.fp +0 -246
- data/GenWrapper/proto/grph2_uipack.fp +0 -508
- data/GenWrapper/proto/grph2_ulpack.fp +0 -516
- data/GenWrapper/proto/grph2_umpack.fp +0 -676
- data/GenWrapper/proto/grph2_uspack.fp +0 -989
- data/GenWrapper/proto/grph2_uupack.fp +0 -663
- data/GenWrapper/proto/grph2_uvpack.fp +0 -246
- data/GenWrapper/proto/grph2_uwpack.fp +0 -203
- data/GenWrapper/proto/grph2_uxpack.fp +0 -295
- data/GenWrapper/proto/grph2_uypack.fp +0 -295
- data/GenWrapper/proto/grph2_uzpack.fp +0 -574
- data/GenWrapper/proto/math1_00 +0 -12
- data/GenWrapper/proto/math1_blklib.fp +0 -58
- data/GenWrapper/proto/math1_chrlib.fp +0 -83
- data/GenWrapper/proto/math1_clsplib.fp +0 -74
- data/GenWrapper/proto/math1_fnclib.fp +0 -79
- data/GenWrapper/proto/math1_gnmlib.fp +0 -118
- data/GenWrapper/proto/math1_gt2dlib.fp +0 -144
- data/GenWrapper/proto/math1_ifalib.fp +0 -123
- data/GenWrapper/proto/math1_indxlib.fp +0 -222
- data/GenWrapper/proto/math1_intlib.fp +0 -46
- data/GenWrapper/proto/math1_lrllib.fp +0 -276
- data/GenWrapper/proto/math1_maplib.fp +0 -24
- data/GenWrapper/proto/math1_oslib.fp +0 -28
- data/GenWrapper/proto/math1_rfalib.fp +0 -420
- data/GenWrapper/proto/math1_rfblib.fp +0 -51
- data/GenWrapper/proto/math1_sublib.fp +0 -60
- data/GenWrapper/proto/math1_syslib.fp +0 -767
- data/GenWrapper/proto/math1_vialib.fp +0 -339
- data/GenWrapper/proto/math1_viblib.fp +0 -264
- data/GenWrapper/proto/math1_vralib.fp +0 -339
- data/GenWrapper/proto/math1_vrblib.fp +0 -264
- data/GenWrapper/proto/math1_xfclib.fp +0 -68
- data/GenWrapper/proto/math2_00 +0 -12
- data/GenWrapper/proto/math2_fftlib.fp +0 -803
- data/GenWrapper/proto/math2_intrlib.fp +0 -32
- data/GenWrapper/proto/math2_odelib.fp_notused +0 -568
- data/GenWrapper/proto/math2_rnmlib.fp +0 -54
- data/GenWrapper/proto/math2_shtlib.fp +0 -1292
- data/GenWrapper/proto/math2_vstlib.fp +0 -84
- data/GenWrapper/proto/misc1_00 +0 -17
- data/GenWrapper/proto/misc1_chnlib.fp +0 -47
- data/GenWrapper/proto/misc1_datelib.fp +0 -352
- data/GenWrapper/proto/misc1_fmtlib.fp +0 -19
- data/GenWrapper/proto/misc1_misclib.fp +0 -26
- data/GenWrapper/proto/misc1_randlib.fp +0 -50
- data/GenWrapper/proto/misc1_timelib.fp +0 -151
- data/GenWrapper/proto2c.rb +0 -13
- data/GenWrapper/prototype.rb +0 -209
- data/GenWrapper/util.rb +0 -9
- data/GenWrapper/variable.rb +0 -671
- data/README +0 -29
- data/ToDo +0 -2
- data/bin/console +0 -14
- data/bin/setup +0 -7
- data/demo/grph2/ximage/MEMO +0 -23
- data/obsolete/README +0 -2
- data/obsolete/dcl_ext.html +0 -112
- data/obsolete/dcl_ext.rb +0 -313
data/demo/grph2/ximage/MEMO
DELETED
@@ -1,23 +0,0 @@
|
|
1
|
-
# ���Υǥ��쥯�ȥ�˴ޤޤ��ǥ�ץ�����������
|
2
|
-
|
3
|
-
���Υǥ��쥯�ȥ�ˤϰʲ��Υե����뤬����.
|
4
|
-
|
5
|
-
ximg01.rb : �ӥåȥ������ɽ�����뤿��Υƥ��ȥץ������.
|
6
|
-
|
7
|
-
tomsclmt.dat : ximg01.rb ���Ѥ���ǡ���.
|
8
|
-
TOMS �η�ʿ�ѥ��������̥ǡ��� (���12����ʬ)
|
9
|
-
|
10
|
-
MEMO : �����.
|
11
|
-
|
12
|
-
ximg01.rb ���
|
13
|
-
|
14
|
-
swlstx('LDUMP', false)
|
15
|
-
��
|
16
|
-
swlstx('LDUMP', true)
|
17
|
-
|
18
|
-
�Ȥ����, dcl_NNN.xwd �Ȥ�������ץե��������������. ���θ�
|
19
|
-
|
20
|
-
animate *.xwd
|
21
|
-
|
22
|
-
�ʤɤˤ�ä�, ���˥�����ǽ�Ǥ���.
|
23
|
-
|
data/obsolete/README
DELETED
data/obsolete/dcl_ext.html
DELETED
@@ -1,112 +0,0 @@
|
|
1
|
-
<?xml version="1.0" ?>
|
2
|
-
<!DOCTYPE html
|
3
|
-
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
4
|
-
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
5
|
-
<html xmlns="http://www.w3.org/1999/xhtml">
|
6
|
-
<head>
|
7
|
-
<title>dcl_ext.rb</title>
|
8
|
-
</head>
|
9
|
-
<body>
|
10
|
-
<h1><a name="label:0" id="label:0">class NumRu::Misc::KeywordOpt</a></h1><!-- RDLabel: "class NumRu::Misc::KeywordOpt" -->
|
11
|
-
<h2><a name="label:1" id="label:1">Overview</a></h2><!-- RDLabel: "Overview" -->
|
12
|
-
<p>A class to facilitate optional keyword arguments. More specifically,
|
13
|
-
it helps the use of a Hash to mimic the keyword argument system.</p>
|
14
|
-
<h2><a name="label:2" id="label:2">Usage example</a></h2><!-- RDLabel: "Usage example" -->
|
15
|
-
<p>Suppose that you introduce keyword arguments "flag" and "number"
|
16
|
-
to the method "hoge" in a class/module Foo. It can be done as
|
17
|
-
follows:</p>
|
18
|
-
<pre>require 'numru/misc/keywordopt'
|
19
|
-
include NumRu
|
20
|
-
|
21
|
-
class Foo
|
22
|
-
@@opt_hoge = KeywordOpt.new(
|
23
|
-
['flag', false, 'whether or not ...'],
|
24
|
-
['number', 1, 'number of ...'],
|
25
|
-
['help', false, 'show help message']
|
26
|
-
)
|
27
|
-
def hoge(regular_arg1, regular_arg2, options=nil)
|
28
|
-
opt = @@opt_hoge.interpret(options)
|
29
|
-
if opt['help']
|
30
|
-
puts @@opt_hoge.help
|
31
|
-
puts ' Current values='+opt.inspect
|
32
|
-
raise HelpMessagingException, '** show help message and raise **'
|
33
|
-
end
|
34
|
-
# do what you want below
|
35
|
-
# (options are set in the Hash opt: opt['flag'] and opt['number'])
|
36
|
-
end
|
37
|
-
end</pre>
|
38
|
-
<p>Here, the options are defined in the class variable @@opt_hoge
|
39
|
-
with option names, defualt values, and descriptions (for help
|
40
|
-
messaging). One can use the method hoge as follows:</p>
|
41
|
-
<pre>foo = Foo.new
|
42
|
-
...
|
43
|
-
x = ...
|
44
|
-
y = ...
|
45
|
-
...
|
46
|
-
foo.hoge( x, y, {'flag'=>true, 'number'=>10} )</pre>
|
47
|
-
<p>Or equivalently,</p>
|
48
|
-
<pre>foo.hoge( x, y, 'flag'=>true, 'number'=>10 )</pre>
|
49
|
-
<p>because '{}' can be omitted here. If you want to show the help message,
|
50
|
-
use</p>
|
51
|
-
<pre>foo.hoge( x, y, 'help'=>true )</pre>
|
52
|
-
<p>Tails of options names can be shortened as long as unambiguous:</p>
|
53
|
-
<pre>foo.hoge( x, y, 'fla'=>true, 'num'=>10 )</pre>
|
54
|
-
<p>This will cause an exception raised with the following help message such as:</p>
|
55
|
-
<pre>\** Description of options **
|
56
|
-
option name => default value (description), ..:
|
57
|
-
{ "flag" => false (whether or not ...),
|
58
|
-
"number" => 1 (number of ...),
|
59
|
-
"help" => false (show help message)}
|
60
|
-
Current values={"help"=>true, "number"=>1, "flag"=>false}
|
61
|
-
NumRu::Misc::HelpMessagingException: ** show help message and raise **
|
62
|
-
from (irb):78:in `hoge'
|
63
|
-
from (irb):83</pre>
|
64
|
-
<h2><a name="label:3" id="label:3">Class methods</a></h2><!-- RDLabel: "Class methods" -->
|
65
|
-
<dl>
|
66
|
-
<dt><a name="label:4" id="label:4"><code>KeywordOpt.new( *<var>args</var> )</code></a></dt><!-- RDLabel: "KeywordOpt.new" -->
|
67
|
-
<dd>
|
68
|
-
<p>Constructor.</p>
|
69
|
-
<p>ARGUMENTS</p>
|
70
|
-
<ul>
|
71
|
-
<li>args : arrays of two or three elements: [option name, defualt value,
|
72
|
-
description ], where the third element (description) can be omitted.
|
73
|
-
Option names and descriptions must be String.</li>
|
74
|
-
</ul>
|
75
|
-
<p>RETURN VALUE</p>
|
76
|
-
<ul>
|
77
|
-
<li>a KeywordOpt object</li>
|
78
|
-
</ul></dd>
|
79
|
-
</dl>
|
80
|
-
<h2><a name="label:5" id="label:5">Methods</a></h2><!-- RDLabel: "Methods" -->
|
81
|
-
<dl>
|
82
|
-
<dt><a name="label:6" id="label:6"><code>interpret(<var>hash</var>)</code></a></dt><!-- RDLabel: "interpret" -->
|
83
|
-
<dd>
|
84
|
-
<p>Interprets a hash that specifies option values.</p>
|
85
|
-
<p>ARGUMENTS</p>
|
86
|
-
<ul>
|
87
|
-
<li>hash (Hash) : a hash with string keys matching option names (initialized
|
88
|
-
when constructed). The matching is case sensitive and done such
|
89
|
-
that the tail of a option name can be omitted as long as
|
90
|
-
unambiguous (for example, 'num' for 'number').</li>
|
91
|
-
</ul>
|
92
|
-
<p>RETURN VALUE</p>
|
93
|
-
<ul>
|
94
|
-
<li>a Hash containing the option values (default values overwritten
|
95
|
-
with hash).</li>
|
96
|
-
</ul>
|
97
|
-
<p>POSSIBLE EXCEPTION</p>
|
98
|
-
<ul>
|
99
|
-
<li>hash has a key that does not match any of the option names.</li>
|
100
|
-
<li>hash has a key that is ambigous</li>
|
101
|
-
</ul></dd>
|
102
|
-
<dt><a name="label:7" id="label:7"><code>help</code></a></dt><!-- RDLabel: "help" -->
|
103
|
-
<dd>
|
104
|
-
<p>Returns a help message</p>
|
105
|
-
<p>RETURN VALUE</p>
|
106
|
-
<ul>
|
107
|
-
<li>a String describing the option names, defualt values, and descriptions</li>
|
108
|
-
</ul></dd>
|
109
|
-
</dl>
|
110
|
-
|
111
|
-
</body>
|
112
|
-
</html>
|
data/obsolete/dcl_ext.rb
DELETED
@@ -1,313 +0,0 @@
|
|
1
|
-
=begin
|
2
|
-
= class NumRu::Misc::KeywordOpt
|
3
|
-
|
4
|
-
== Overview
|
5
|
-
|
6
|
-
A class to facilitate optional keyword arguments. More specifically,
|
7
|
-
it helps the use of a Hash to mimic the keyword argument system.
|
8
|
-
|
9
|
-
== Usage example
|
10
|
-
|
11
|
-
Suppose that you introduce keyword arguments "flag" and "number"
|
12
|
-
to the method "hoge" in a class/module Foo. It can be done as
|
13
|
-
follows:
|
14
|
-
|
15
|
-
require 'numru/misc/keywordopt'
|
16
|
-
include NumRu
|
17
|
-
|
18
|
-
class Foo
|
19
|
-
@@opt_hoge = KeywordOpt.new(
|
20
|
-
['flag', false, 'whether or not ...'],
|
21
|
-
['number', 1, 'number of ...'],
|
22
|
-
['help', false, 'show help message']
|
23
|
-
)
|
24
|
-
def hoge(regular_arg1, regular_arg2, options=nil)
|
25
|
-
opt = @@opt_hoge.interpret(options)
|
26
|
-
if opt['help']
|
27
|
-
puts @@opt_hoge.help
|
28
|
-
puts ' Current values='+opt.inspect
|
29
|
-
raise HelpMessagingException, '** show help message and raise **'
|
30
|
-
end
|
31
|
-
# do what you want below
|
32
|
-
# (options are set in the Hash opt: opt['flag'] and opt['number'])
|
33
|
-
end
|
34
|
-
end
|
35
|
-
|
36
|
-
Here, the options are defined in the class variable @@opt_hoge
|
37
|
-
with option names, defualt values, and descriptions (for help
|
38
|
-
messaging). One can use the method hoge as follows:
|
39
|
-
|
40
|
-
foo = Foo.new
|
41
|
-
...
|
42
|
-
x = ...
|
43
|
-
y = ...
|
44
|
-
...
|
45
|
-
foo.hoge( x, y, {'flag'=>true, 'number'=>10} )
|
46
|
-
|
47
|
-
Or equivalently,
|
48
|
-
|
49
|
-
foo.hoge( x, y, 'flag'=>true, 'number'=>10 )
|
50
|
-
|
51
|
-
because '{}' can be omitted here. If you want to show the help message,
|
52
|
-
use
|
53
|
-
|
54
|
-
foo.hoge( x, y, 'help'=>true )
|
55
|
-
|
56
|
-
Tails of options names can be shortened as long as unambiguous:
|
57
|
-
|
58
|
-
foo.hoge( x, y, 'fla'=>true, 'num'=>10 )
|
59
|
-
|
60
|
-
This will cause an exception raised with the following help message such as:
|
61
|
-
|
62
|
-
\** Description of options **
|
63
|
-
option name => default value (description), ..:
|
64
|
-
{ "flag" => false (whether or not ...),
|
65
|
-
"number" => 1 (number of ...),
|
66
|
-
"help" => false (show help message)}
|
67
|
-
Current values={"help"=>true, "number"=>1, "flag"=>false}
|
68
|
-
NumRu::Misc::HelpMessagingException: ** show help message and raise **
|
69
|
-
from (irb):78:in `hoge'
|
70
|
-
from (irb):83
|
71
|
-
|
72
|
-
|
73
|
-
== Class methods
|
74
|
-
|
75
|
-
---KeywordOpt.new( *args )
|
76
|
-
|
77
|
-
Constructor.
|
78
|
-
|
79
|
-
ARGUMENTS
|
80
|
-
* args : arrays of two or three elements: [option name, defualt value,
|
81
|
-
description ], or [option name, defualt value] if you don't want to
|
82
|
-
write descriptions. Option names and descriptions must be String.
|
83
|
-
|
84
|
-
RETURN VALUE
|
85
|
-
* a KeywordOpt object
|
86
|
-
|
87
|
-
== Methods
|
88
|
-
---interpret(hash)
|
89
|
-
|
90
|
-
Interprets a hash that specifies option values.
|
91
|
-
|
92
|
-
ARGUMENTS
|
93
|
-
* hash (Hash) : a hash with string keys matching option names (initialized
|
94
|
-
when constructed). The matching is case sensitive and done such
|
95
|
-
that the tail of a option name can be omitted as long as
|
96
|
-
unambiguous (for example, 'num' for 'number').
|
97
|
-
|
98
|
-
RETURN VALUE
|
99
|
-
* a Hash containing the option values (default values overwritten
|
100
|
-
with hash).
|
101
|
-
|
102
|
-
POSSIBLE EXCEPTION
|
103
|
-
* hash has a key that does not match any of the option names.
|
104
|
-
* hash has a key that is ambigous
|
105
|
-
|
106
|
-
---help
|
107
|
-
|
108
|
-
Returns a help message
|
109
|
-
|
110
|
-
RETURN VALUE
|
111
|
-
* a String describing the option names, defualt values, and descriptions
|
112
|
-
|
113
|
-
=end
|
114
|
-
|
115
|
-
module NumRu
|
116
|
-
|
117
|
-
class HelpMessagingException < StandardError
|
118
|
-
end
|
119
|
-
|
120
|
-
class KeywordOpt
|
121
|
-
def initialize(*args)
|
122
|
-
# USAGE:
|
123
|
-
# KeywordOpt.new([key,val,description],[key,val,description],..)
|
124
|
-
# where key is a String, and description can be omitted.
|
125
|
-
@val=Hash.new
|
126
|
-
@description=Hash.new
|
127
|
-
@keys = []
|
128
|
-
args.each{ |x|
|
129
|
-
@keys.push(x[0])
|
130
|
-
@val[x[0]]=x[1]
|
131
|
-
@description[x[0]]= ( (x.length>=3) ? x[2] : '' )
|
132
|
-
}
|
133
|
-
@keys_sort = @keys.sort
|
134
|
-
end
|
135
|
-
|
136
|
-
def interpret(hash)
|
137
|
-
return @val if !hash
|
138
|
-
##
|
139
|
-
len = @val.length
|
140
|
-
im = 0
|
141
|
-
out = @val.dup
|
142
|
-
hash.keys.sort.each do |key|
|
143
|
-
rkey = /^#{key}/
|
144
|
-
loop do
|
145
|
-
if rkey =~ @keys_sort[im]
|
146
|
-
if im<len-1 && rkey=~@keys_sort[im+1]
|
147
|
-
raise "Ambiguous key specification '#{key}'."
|
148
|
-
end
|
149
|
-
out[@keys_sort[im]]=hash[key]
|
150
|
-
break
|
151
|
-
end
|
152
|
-
im += 1
|
153
|
-
raise "'#{key}' does not match any of the keys." if im==len
|
154
|
-
end
|
155
|
-
end
|
156
|
-
out
|
157
|
-
end
|
158
|
-
|
159
|
-
def help
|
160
|
-
"** Description of options **\n" +
|
161
|
-
" option name => default value (description), ..:\n{" +
|
162
|
-
@keys.collect{|k| " #{k.inspect} => #{@val[k].inspect} (#{@description[k]})"}.join(",\n") +
|
163
|
-
'}'
|
164
|
-
end
|
165
|
-
end
|
166
|
-
|
167
|
-
module DCL_Ext
|
168
|
-
|
169
|
-
module_function
|
170
|
-
|
171
|
-
#< def sgset sgstx udset udstx etc. >
|
172
|
-
|
173
|
-
# USAGE EAXPLE: usset('lxinv'=>true, 'xfac'=>10, 'cxttl'=>'longitude')
|
174
|
-
|
175
|
-
%w!gl sl sg sw uc ud ue ug ul um us uu uz!.each do |pkg|
|
176
|
-
%w!set stx!.each do |set|
|
177
|
-
eval <<-EOS
|
178
|
-
def #{pkg}#{set}( hash )
|
179
|
-
hash.each{|k,v|
|
180
|
-
DCL.#{pkg}p#{set}(k,v)
|
181
|
-
}
|
182
|
-
end
|
183
|
-
EOS
|
184
|
-
end
|
185
|
-
end
|
186
|
-
|
187
|
-
# < contour/tone level handling >
|
188
|
-
|
189
|
-
@@opt_levels = KeywordOpt.new(
|
190
|
-
['levels',nil, 'levels'],
|
191
|
-
['mjmn', nil, 'whether major or minor ex.[false,true,false,...]'],
|
192
|
-
['cmin', nil, 'minimum level'],
|
193
|
-
['cmax', nil, 'maximum level'],
|
194
|
-
['cint', nil, 'interval'],
|
195
|
-
['nlev', 10, 'number of levels'],
|
196
|
-
|
197
|
-
['help', nil, 'show help message']
|
198
|
-
)
|
199
|
-
def ud_set_levels(z,options=nil)
|
200
|
-
# < interpret options >
|
201
|
-
opt = @@opt_levels.interpret(options)
|
202
|
-
if opt['help']
|
203
|
-
puts @@opt_levels.help
|
204
|
-
puts ' Current values='+opt.inspect
|
205
|
-
return
|
206
|
-
end
|
207
|
-
if levels=opt['levels']
|
208
|
-
icycle = DCL.udiget('icycle')
|
209
|
-
indxmj = DCL.udiget('indxmj')
|
210
|
-
indxmn = DCL.udiget('indxmn')
|
211
|
-
idash = DCL.udiget('idash')
|
212
|
-
ldash = DCL.udlget('ldash')
|
213
|
-
label = DCL.udlget('label')
|
214
|
-
isolid = DCL.udiget('isolid')
|
215
|
-
rsizel = DCL.udrget('rsizel')
|
216
|
-
nlev=levels.length
|
217
|
-
if (mjmn=opt['mjmn'])
|
218
|
-
if mjmn.length != levels.length
|
219
|
-
raise ArgumentError,"lengths of levels and mjmn do not agree"
|
220
|
-
end
|
221
|
-
else
|
222
|
-
if levels.include?(0)
|
223
|
-
idx = levels.index(0)
|
224
|
-
ioffset = icycle*idx - idx
|
225
|
-
else
|
226
|
-
ioffset = 1
|
227
|
-
end
|
228
|
-
mjmn = (0...nlev).collect{|x| ((x+ioffset)%icycle)==0}
|
229
|
-
end
|
230
|
-
indices = mjmn.collect{|x| (x ? indxmj : indxmn)}
|
231
|
-
DCL.udiclv
|
232
|
-
(0...nlev).each{ |i|
|
233
|
-
lev = levels[i]
|
234
|
-
clev = DCL.udlabl(lev)
|
235
|
-
ityp = ( ldash && lev<0 ) ? idash : isolid
|
236
|
-
ht = ( mjmn[i] && label ) ? rsizel : 0.0
|
237
|
-
DCL.udsclv(lev,indices[i],ityp,clev,ht)
|
238
|
-
}
|
239
|
-
elsif opt['cmin'] || opt['cmax'] || opt['cint'] || opt['nlev']
|
240
|
-
cmin=opt['cmin']
|
241
|
-
cmax=opt['cmax']
|
242
|
-
cint=opt['cint']
|
243
|
-
nlev=opt['nlev']
|
244
|
-
dx = ( cint || -nlev )
|
245
|
-
if cmin || cmax
|
246
|
-
# if one or two of [cmin,cmax] is/are defined:
|
247
|
-
cmin = z.min if !cmin
|
248
|
-
cmax = z.max if !cmax
|
249
|
-
DCL.udgcla(cmin,cmax,dx)
|
250
|
-
else
|
251
|
-
DCL.udgclb(z,dx)
|
252
|
-
end
|
253
|
-
else
|
254
|
-
levels = nil
|
255
|
-
end
|
256
|
-
end
|
257
|
-
end
|
258
|
-
end
|
259
|
-
|
260
|
-
#################################################
|
261
|
-
if $0 == __FILE__
|
262
|
-
require "narray"
|
263
|
-
require "numru/dcl"
|
264
|
-
include NumRu
|
265
|
-
include Math
|
266
|
-
|
267
|
-
nx = 19
|
268
|
-
ny = 19
|
269
|
-
xmin = 0
|
270
|
-
xmax = 360
|
271
|
-
ymin = -90
|
272
|
-
ymax = 90
|
273
|
-
drad = PI/180
|
274
|
-
dz = 0.05
|
275
|
-
p = NArray.sfloat(nx, ny)
|
276
|
-
|
277
|
-
#-- data ---
|
278
|
-
for j in 0..ny-1
|
279
|
-
for i in 0..nx-1
|
280
|
-
alon = (xmin + (xmax-xmin)*i/(nx-1)) * drad
|
281
|
-
alat = (ymin + (ymax-ymin)*j/(ny-1)) * drad
|
282
|
-
slat = sin(alat)
|
283
|
-
p[i,j] = cos(alon) * (1-slat**2) * sin(2*PI*slat) + dz
|
284
|
-
end
|
285
|
-
end
|
286
|
-
|
287
|
-
#-- graph ---
|
288
|
-
iws = (ARGV[0] || (puts ' WORKSTATION ID (I) ? ;'; DCL::sgpwsn; gets)).to_i
|
289
|
-
DCL::gropn iws
|
290
|
-
|
291
|
-
DCL::sldiv('y',2,1)
|
292
|
-
DCL::grfrm
|
293
|
-
DCL::grswnd(xmin, xmax, ymin, ymax)
|
294
|
-
DCL::grsvpt(0.2, 0.8, 0.2, 0.8)
|
295
|
-
DCL::grstrn(1)
|
296
|
-
DCL::grstrf
|
297
|
-
DCL::usdaxs
|
298
|
-
DCL_Ext.udset('icycle'=>3,'idash'=>4)
|
299
|
-
DCL_Ext.ud_set_levels(p, 'nlev'=>8, 'help'=>true)
|
300
|
-
DCL_Ext.ud_set_levels(p,{'nlev'=>8, 'cmin'=>-0.2})
|
301
|
-
DCL::udcntr(p)
|
302
|
-
|
303
|
-
DCL::grfrm
|
304
|
-
DCL::grswnd(xmin, xmax, ymin, ymax)
|
305
|
-
DCL::grsvpt(0.2, 0.8, 0.2, 0.8)
|
306
|
-
DCL::grstrn(1)
|
307
|
-
DCL::grstrf
|
308
|
-
DCL::usdaxs
|
309
|
-
DCL_Ext.ud_set_levels(p,{'lev'=>[-0.3,-0.1,0,0.1,0.3]})
|
310
|
-
DCL::udcntr(p)
|
311
|
-
DCL::grcls
|
312
|
-
|
313
|
-
end
|