my_help 0.4.5 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.dockerignore +2 -0
- data/.gitignore +29 -2
- data/.ipynb_checkpoints/README-checkpoint.ipynb +511 -0
- data/.ipynb_checkpoints/Untitled-checkpoint.ipynb +6 -0
- data/.ruby-version +1 -0
- data/Dockerfile.template +13 -0
- data/README.md +341 -256
- data/README.org +480 -0
- data/Rakefile +9 -31
- data/docs/.ipynb_checkpoints/README-checkpoint.ipynb +112 -0
- data/docs/.ipynb_checkpoints/Untitled-checkpoint.ipynb +219 -0
- data/docs/README.ipynb +112 -0
- data/docs/bob/README_en.ipynb +219 -0
- data/docs/bob/diff_against_org_mode.ipynb +119 -0
- data/docs/bob/emacs_help.ipynb +133 -0
- data/docs/bob/template_help.ipynb +136 -0
- data/{my_help_nasu → docs/nasu}/.gitignore +0 -0
- data/{my_help_nasu → docs/nasu}/Rakefile +91 -20
- data/docs/nasu/abstract.hiki +17 -0
- data/{my_help_nasu → docs/nasu}/code.hiki +25 -21
- data/docs/nasu/discussion.hiki +38 -0
- data/docs/nasu/features/add.feature +12 -0
- data/docs/nasu/features/all_help.feature +10 -0
- data/docs/nasu/features/backup_list.feature +10 -0
- data/docs/nasu/features/edit_help.feature +9 -0
- data/docs/nasu/features/my_todo.feature +16 -0
- data/docs/nasu/features/remove.feature +10 -0
- data/docs/nasu/features/sample_e.feature +6 -0
- data/docs/nasu/features/step_definitions/add_spec.rb +18 -0
- data/docs/nasu/features/step_definitions/all_help_spec.rb +18 -0
- data/docs/nasu/features/step_definitions/backup_list_spec.rb +18 -0
- data/docs/nasu/features/step_definitions/edit_help_spec.rb +19 -0
- data/docs/nasu/features/step_definitions/my_todo_spec.rb +25 -0
- data/docs/nasu/features/step_definitions/remove_spec.rb +18 -0
- data/docs/nasu/features/step_definitions/store_spec.rb +18 -0
- data/docs/nasu/features/step_definitions/to_hiki_spec.rb +18 -0
- data/docs/nasu/features/store.feature +10 -0
- data/docs/nasu/features/support/env.rb +2 -0
- data/docs/nasu/features/test.feature +10 -0
- data/docs/nasu/features/to_hiki.feature +10 -0
- data/{my_help_nasu → docs/nasu}/features.hiki +80 -70
- data/docs/nasu/figs/cucumber01.001.jpg +0 -0
- data/docs/nasu/figs/cucumber02.001.jpg +0 -0
- data/docs/nasu/figs/cucumber03.001.jpg +0 -0
- data/docs/nasu/figs/cucumber04.001.jpg +0 -0
- data/docs/nasu/figs/cucumber05.001.jpg +0 -0
- data/docs/nasu/figs/cucumber1.jpg +0 -0
- data/docs/nasu/figs/cucumber2.jpg +0 -0
- data/docs/nasu/figs/cucumber3.jpg +0 -0
- data/docs/nasu/figs/cucumber4.jpg +0 -0
- data/docs/nasu/figs/my_help_nasu.001.jpeg +0 -0
- data/docs/nasu/figs/my_help_nasu.002.jpeg +0 -0
- data/docs/nasu/figs/my_help_nasu.003.jpeg +0 -0
- data/docs/nasu/figs/my_help_nasu.004.jpeg +0 -0
- data/docs/nasu/figs/my_help_nasu.005.jpeg +0 -0
- data/docs/nasu/figs/my_help_nasu.006.jpeg +0 -0
- data/docs/nasu/figs/my_help_nasu.007.jpeg +0 -0
- data/docs/nasu/figs/my_help_nasu.008.jpeg +0 -0
- data/docs/nasu/figs/my_help_nasu.pdf +0 -0
- data/docs/nasu/figs/my_help_nasu.png +0 -0
- data/docs/nasu/figs/my_help_nasu1.001.jpg +0 -0
- data/docs/nasu/figs/rspec01.001.jpg +0 -0
- data/docs/nasu/figs/rspec1.jpg +0 -0
- data/docs/nasu/figs/rspec2.jpg +0 -0
- data/{my_help_nasu → docs/nasu}/head2.tex +0 -0
- data/{my_help_nasu → docs/nasu}/hiki_help.yml +0 -0
- data/{my_help_nasu → docs/nasu}/introduction.hiki +15 -16
- data/{my_help_nasu → docs/nasu}/key_bind_mi +0 -0
- data/docs/nasu/keynote/cucumber01.key/Data/110809_FamilyChineseOahu_EN_00317_2040x1360-small-12.jpg +0 -0
- data/docs/nasu/keynote/cucumber01.key/Data/110809_FamilyChineseOahu_EN_02016_981x654-small-14.jpg +0 -0
- data/docs/nasu/keynote/cucumber01.key/Data/110809_FamilyChineseOahu_EN_02390_2880x1921-small-10.jpg +0 -0
- data/docs/nasu/keynote/cucumber01.key/Data/mt10@2x-87.jpg +0 -0
- data/docs/nasu/keynote/cucumber01.key/Data/mt1@2x-78.jpg +0 -0
- data/docs/nasu/keynote/cucumber01.key/Data/mt2@2x-79.jpg +0 -0
- data/docs/nasu/keynote/cucumber01.key/Data/mt3@2x-80.jpg +0 -0
- data/docs/nasu/keynote/cucumber01.key/Data/mt4@2x-81.jpg +0 -0
- data/docs/nasu/keynote/cucumber01.key/Data/mt5@2x-82.jpg +0 -0
- data/docs/nasu/keynote/cucumber01.key/Data/mt6@2x-83.jpg +0 -0
- data/docs/nasu/keynote/cucumber01.key/Data/mt7@2x-84.jpg +0 -0
- data/docs/nasu/keynote/cucumber01.key/Data/mt8@2x-85.jpg +0 -0
- data/docs/nasu/keynote/cucumber01.key/Data/mt9@2x-86.jpg +0 -0
- data/docs/nasu/keynote/cucumber01.key/Data/pasted-image-89.png +0 -0
- data/docs/nasu/keynote/cucumber01.key/Data/pasted-image-small-90.png +0 -0
- data/docs/nasu/keynote/cucumber01.key/Data/st0-104.jpg +0 -0
- data/docs/nasu/keynote/cucumber01.key/Index.zip +0 -0
- data/docs/nasu/keynote/cucumber01.key/Metadata/BuildVersionHistory.plist +8 -0
- data/docs/nasu/keynote/cucumber01.key/Metadata/DocumentIdentifier +1 -0
- data/docs/nasu/keynote/cucumber01.key/Metadata/Properties.plist +0 -0
- data/docs/nasu/keynote/cucumber01.key/preview-micro.jpg +0 -0
- data/docs/nasu/keynote/cucumber01.key/preview-web.jpg +0 -0
- data/docs/nasu/keynote/cucumber01.key/preview.jpg +0 -0
- data/docs/nasu/keynote/cucumber02.key/Data/110809_FamilyChineseOahu_EN_00317_2040x1360-small-12.jpg +0 -0
- data/docs/nasu/keynote/cucumber02.key/Data/110809_FamilyChineseOahu_EN_02016_981x654-small-14.jpg +0 -0
- data/docs/nasu/keynote/cucumber02.key/Data/110809_FamilyChineseOahu_EN_02390_2880x1921-small-10.jpg +0 -0
- data/docs/nasu/keynote/cucumber02.key/Data/mt10@2x-87.jpg +0 -0
- data/docs/nasu/keynote/cucumber02.key/Data/mt1@2x-78.jpg +0 -0
- data/docs/nasu/keynote/cucumber02.key/Data/mt2@2x-79.jpg +0 -0
- data/docs/nasu/keynote/cucumber02.key/Data/mt3@2x-80.jpg +0 -0
- data/docs/nasu/keynote/cucumber02.key/Data/mt4@2x-81.jpg +0 -0
- data/docs/nasu/keynote/cucumber02.key/Data/mt5@2x-82.jpg +0 -0
- data/docs/nasu/keynote/cucumber02.key/Data/mt6@2x-83.jpg +0 -0
- data/docs/nasu/keynote/cucumber02.key/Data/mt7@2x-84.jpg +0 -0
- data/docs/nasu/keynote/cucumber02.key/Data/mt8@2x-85.jpg +0 -0
- data/docs/nasu/keynote/cucumber02.key/Data/mt9@2x-86.jpg +0 -0
- data/docs/nasu/keynote/cucumber02.key/Data/pasted-image-89.png +0 -0
- data/docs/nasu/keynote/cucumber02.key/Data/pasted-image-small-90.png +0 -0
- data/docs/nasu/keynote/cucumber02.key/Data/st0-96.jpg +0 -0
- data/docs/nasu/keynote/cucumber02.key/Index.zip +0 -0
- data/docs/nasu/keynote/cucumber02.key/Metadata/BuildVersionHistory.plist +8 -0
- data/docs/nasu/keynote/cucumber02.key/Metadata/DocumentIdentifier +1 -0
- data/docs/nasu/keynote/cucumber02.key/Metadata/Properties.plist +0 -0
- data/docs/nasu/keynote/cucumber02.key/preview-micro.jpg +0 -0
- data/docs/nasu/keynote/cucumber02.key/preview-web.jpg +0 -0
- data/docs/nasu/keynote/cucumber02.key/preview.jpg +0 -0
- data/docs/nasu/keynote/cucumber03.key/Data/110809_FamilyChineseOahu_EN_00317_2040x1360-small-12.jpg +0 -0
- data/docs/nasu/keynote/cucumber03.key/Data/110809_FamilyChineseOahu_EN_02016_981x654-small-14.jpg +0 -0
- data/docs/nasu/keynote/cucumber03.key/Data/110809_FamilyChineseOahu_EN_02390_2880x1921-small-10.jpg +0 -0
- data/docs/nasu/keynote/cucumber03.key/Data/mt10@2x-87.jpg +0 -0
- data/docs/nasu/keynote/cucumber03.key/Data/mt1@2x-78.jpg +0 -0
- data/docs/nasu/keynote/cucumber03.key/Data/mt2@2x-79.jpg +0 -0
- data/docs/nasu/keynote/cucumber03.key/Data/mt3@2x-80.jpg +0 -0
- data/docs/nasu/keynote/cucumber03.key/Data/mt4@2x-81.jpg +0 -0
- data/docs/nasu/keynote/cucumber03.key/Data/mt5@2x-82.jpg +0 -0
- data/docs/nasu/keynote/cucumber03.key/Data/mt6@2x-83.jpg +0 -0
- data/docs/nasu/keynote/cucumber03.key/Data/mt7@2x-84.jpg +0 -0
- data/docs/nasu/keynote/cucumber03.key/Data/mt8@2x-85.jpg +0 -0
- data/docs/nasu/keynote/cucumber03.key/Data/mt9@2x-86.jpg +0 -0
- data/docs/nasu/keynote/cucumber03.key/Data/pasted-image-89.png +0 -0
- data/docs/nasu/keynote/cucumber03.key/Data/pasted-image-small-90.png +0 -0
- data/docs/nasu/keynote/cucumber03.key/Data/st0-100.jpg +0 -0
- data/docs/nasu/keynote/cucumber03.key/Index.zip +0 -0
- data/docs/nasu/keynote/cucumber03.key/Metadata/BuildVersionHistory.plist +8 -0
- data/docs/nasu/keynote/cucumber03.key/Metadata/DocumentIdentifier +1 -0
- data/docs/nasu/keynote/cucumber03.key/Metadata/Properties.plist +0 -0
- data/docs/nasu/keynote/cucumber03.key/preview-micro.jpg +0 -0
- data/docs/nasu/keynote/cucumber03.key/preview-web.jpg +0 -0
- data/docs/nasu/keynote/cucumber03.key/preview.jpg +0 -0
- data/docs/nasu/keynote/cucumber04.key/Data/110809_FamilyChineseOahu_EN_00317_2040x1360-small-12.jpg +0 -0
- data/docs/nasu/keynote/cucumber04.key/Data/110809_FamilyChineseOahu_EN_02016_981x654-small-14.jpg +0 -0
- data/docs/nasu/keynote/cucumber04.key/Data/110809_FamilyChineseOahu_EN_02390_2880x1921-small-10.jpg +0 -0
- data/docs/nasu/keynote/cucumber04.key/Data/mt10@2x-87.jpg +0 -0
- data/docs/nasu/keynote/cucumber04.key/Data/mt1@2x-78.jpg +0 -0
- data/docs/nasu/keynote/cucumber04.key/Data/mt2@2x-79.jpg +0 -0
- data/docs/nasu/keynote/cucumber04.key/Data/mt3@2x-80.jpg +0 -0
- data/docs/nasu/keynote/cucumber04.key/Data/mt4@2x-81.jpg +0 -0
- data/docs/nasu/keynote/cucumber04.key/Data/mt5@2x-82.jpg +0 -0
- data/docs/nasu/keynote/cucumber04.key/Data/mt6@2x-83.jpg +0 -0
- data/docs/nasu/keynote/cucumber04.key/Data/mt7@2x-84.jpg +0 -0
- data/docs/nasu/keynote/cucumber04.key/Data/mt8@2x-85.jpg +0 -0
- data/docs/nasu/keynote/cucumber04.key/Data/mt9@2x-86.jpg +0 -0
- data/docs/nasu/keynote/cucumber04.key/Data/pasted-image-106.png +0 -0
- data/docs/nasu/keynote/cucumber04.key/Data/pasted-image-small-107.png +0 -0
- data/docs/nasu/keynote/cucumber04.key/Data/st0-115.jpg +0 -0
- data/docs/nasu/keynote/cucumber04.key/Index.zip +0 -0
- data/docs/nasu/keynote/cucumber04.key/Metadata/BuildVersionHistory.plist +8 -0
- data/docs/nasu/keynote/cucumber04.key/Metadata/DocumentIdentifier +1 -0
- data/docs/nasu/keynote/cucumber04.key/Metadata/Properties.plist +0 -0
- data/docs/nasu/keynote/cucumber04.key/preview-micro.jpg +0 -0
- data/docs/nasu/keynote/cucumber04.key/preview-web.jpg +0 -0
- data/docs/nasu/keynote/cucumber04.key/preview.jpg +0 -0
- data/docs/nasu/keynote/cucumber05.key/Data/110809_FamilyChineseOahu_EN_00317_2040x1360-small-12.jpg +0 -0
- data/docs/nasu/keynote/cucumber05.key/Data/110809_FamilyChineseOahu_EN_02016_981x654-small-14.jpg +0 -0
- data/docs/nasu/keynote/cucumber05.key/Data/110809_FamilyChineseOahu_EN_02390_2880x1921-small-10.jpg +0 -0
- data/docs/nasu/keynote/cucumber05.key/Data/mt10@2x-87.jpg +0 -0
- data/docs/nasu/keynote/cucumber05.key/Data/mt1@2x-78.jpg +0 -0
- data/docs/nasu/keynote/cucumber05.key/Data/mt2@2x-79.jpg +0 -0
- data/docs/nasu/keynote/cucumber05.key/Data/mt3@2x-80.jpg +0 -0
- data/docs/nasu/keynote/cucumber05.key/Data/mt4@2x-81.jpg +0 -0
- data/docs/nasu/keynote/cucumber05.key/Data/mt5@2x-82.jpg +0 -0
- data/docs/nasu/keynote/cucumber05.key/Data/mt6@2x-83.jpg +0 -0
- data/docs/nasu/keynote/cucumber05.key/Data/mt7@2x-84.jpg +0 -0
- data/docs/nasu/keynote/cucumber05.key/Data/mt8@2x-85.jpg +0 -0
- data/docs/nasu/keynote/cucumber05.key/Data/mt9@2x-86.jpg +0 -0
- data/docs/nasu/keynote/cucumber05.key/Data/pasted-image-89.png +0 -0
- data/docs/nasu/keynote/cucumber05.key/Data/pasted-image-small-90.png +0 -0
- data/docs/nasu/keynote/cucumber05.key/Data/st0-97.jpg +0 -0
- data/docs/nasu/keynote/cucumber05.key/Index.zip +0 -0
- data/docs/nasu/keynote/cucumber05.key/Metadata/BuildVersionHistory.plist +8 -0
- data/docs/nasu/keynote/cucumber05.key/Metadata/DocumentIdentifier +1 -0
- data/docs/nasu/keynote/cucumber05.key/Metadata/Properties.plist +0 -0
- data/docs/nasu/keynote/cucumber05.key/preview-micro.jpg +0 -0
- data/docs/nasu/keynote/cucumber05.key/preview-web.jpg +0 -0
- data/docs/nasu/keynote/cucumber05.key/preview.jpg +0 -0
- data/docs/nasu/keynote/my_help_nasu1.key/Data/110809_FamilyChineseOahu_EN_00317_2040x1360-small-12.jpg +0 -0
- data/docs/nasu/keynote/my_help_nasu1.key/Data/110809_FamilyChineseOahu_EN_02016_981x654-small-14.jpg +0 -0
- data/docs/nasu/keynote/my_help_nasu1.key/Data/110809_FamilyChineseOahu_EN_02390_2880x1921-small-10.jpg +0 -0
- data/docs/nasu/keynote/my_help_nasu1.key/Data/mt10@2x-87.jpg +0 -0
- data/docs/nasu/keynote/my_help_nasu1.key/Data/mt1@2x-78.jpg +0 -0
- data/docs/nasu/keynote/my_help_nasu1.key/Data/mt2@2x-79.jpg +0 -0
- data/docs/nasu/keynote/my_help_nasu1.key/Data/mt3@2x-80.jpg +0 -0
- data/docs/nasu/keynote/my_help_nasu1.key/Data/mt4@2x-81.jpg +0 -0
- data/docs/nasu/keynote/my_help_nasu1.key/Data/mt5@2x-82.jpg +0 -0
- data/docs/nasu/keynote/my_help_nasu1.key/Data/mt6@2x-83.jpg +0 -0
- data/docs/nasu/keynote/my_help_nasu1.key/Data/mt7@2x-84.jpg +0 -0
- data/docs/nasu/keynote/my_help_nasu1.key/Data/mt8@2x-85.jpg +0 -0
- data/docs/nasu/keynote/my_help_nasu1.key/Data/mt9@2x-86.jpg +0 -0
- data/docs/nasu/keynote/my_help_nasu1.key/Data/st0-299.jpg +0 -0
- data/docs/nasu/keynote/my_help_nasu1.key/Index.zip +0 -0
- data/docs/nasu/keynote/my_help_nasu1.key/Metadata/BuildVersionHistory.plist +8 -0
- data/docs/nasu/keynote/my_help_nasu1.key/Metadata/DocumentIdentifier +1 -0
- data/docs/nasu/keynote/my_help_nasu1.key/Metadata/Properties.plist +0 -0
- data/docs/nasu/keynote/my_help_nasu1.key/preview-micro.jpg +0 -0
- data/docs/nasu/keynote/my_help_nasu1.key/preview-web.jpg +0 -0
- data/docs/nasu/keynote/my_help_nasu1.key/preview.jpg +0 -0
- data/docs/nasu/keynote/rspec01.key/Data/110809_FamilyChineseOahu_EN_00317_2040x1360-small-12.jpg +0 -0
- data/docs/nasu/keynote/rspec01.key/Data/110809_FamilyChineseOahu_EN_02016_981x654-small-14.jpg +0 -0
- data/docs/nasu/keynote/rspec01.key/Data/110809_FamilyChineseOahu_EN_02390_2880x1921-small-10.jpg +0 -0
- data/docs/nasu/keynote/rspec01.key/Data/mt10@2x-87.jpg +0 -0
- data/docs/nasu/keynote/rspec01.key/Data/mt1@2x-78.jpg +0 -0
- data/docs/nasu/keynote/rspec01.key/Data/mt2@2x-79.jpg +0 -0
- data/docs/nasu/keynote/rspec01.key/Data/mt3@2x-80.jpg +0 -0
- data/docs/nasu/keynote/rspec01.key/Data/mt4@2x-81.jpg +0 -0
- data/docs/nasu/keynote/rspec01.key/Data/mt5@2x-82.jpg +0 -0
- data/docs/nasu/keynote/rspec01.key/Data/mt6@2x-83.jpg +0 -0
- data/docs/nasu/keynote/rspec01.key/Data/mt7@2x-84.jpg +0 -0
- data/docs/nasu/keynote/rspec01.key/Data/mt8@2x-85.jpg +0 -0
- data/docs/nasu/keynote/rspec01.key/Data/mt9@2x-86.jpg +0 -0
- data/docs/nasu/keynote/rspec01.key/Data/pasted-image-89.png +0 -0
- data/docs/nasu/keynote/rspec01.key/Data/pasted-image-small-90.png +0 -0
- data/docs/nasu/keynote/rspec01.key/Data/st0-96.jpg +0 -0
- data/docs/nasu/keynote/rspec01.key/Index.zip +0 -0
- data/docs/nasu/keynote/rspec01.key/Metadata/BuildVersionHistory.plist +8 -0
- data/docs/nasu/keynote/rspec01.key/Metadata/DocumentIdentifier +1 -0
- data/docs/nasu/keynote/rspec01.key/Metadata/Properties.plist +0 -0
- data/docs/nasu/keynote/rspec01.key/preview-micro.jpg +0 -0
- data/docs/nasu/keynote/rspec01.key/preview-web.jpg +0 -0
- data/docs/nasu/keynote/rspec01.key/preview.jpg +0 -0
- data/docs/nasu/latex_dir/abstract.tex +18 -0
- data/{my_help_nasu → docs/nasu}/latex_dir/code.tex +9 -21
- data/docs/nasu/latex_dir/discussion.aux +28 -0
- data/docs/nasu/latex_dir/discussion.tex +19 -0
- data/docs/nasu/latex_dir/features.aux +30 -0
- data/docs/nasu/latex_dir/features.tex +186 -0
- data/{my_help_nasu → docs/nasu}/latex_dir/head.tex +1 -1
- data/{my_help_nasu → docs/nasu}/latex_dir/introduction.aux +3 -3
- data/{my_help_nasu → docs/nasu}/latex_dir/introduction.tex +15 -16
- data/{my_help_nasu → docs/nasu}/latex_dir/jlisting.sty +0 -0
- data/{my_help_nasu/latex_dir/consideration.aux → docs/nasu/latex_dir/method.aux} +7 -8
- data/docs/nasu/latex_dir/method.tex +6 -0
- data/{my_help_nasu → docs/nasu}/latex_dir/method_bdd.aux +10 -7
- data/{my_help_nasu → docs/nasu}/latex_dir/method_bdd.tex +14 -5
- data/{my_help_nasu → docs/nasu}/latex_dir/method_cucumber.aux +10 -9
- data/{my_help_nasu → docs/nasu}/latex_dir/method_cucumber.tex +15 -18
- data/{my_help_nasu → docs/nasu}/latex_dir/method_usage.aux +11 -11
- data/{my_help_nasu → docs/nasu}/latex_dir/method_usage.tex +35 -29
- data/{my_help_nasu → docs/nasu}/latex_dir/my_help_nasu.aux +6 -5
- data/docs/nasu/latex_dir/my_help_nasu.log +363 -0
- data/docs/nasu/latex_dir/my_help_nasu.pdf +0 -0
- data/docs/nasu/latex_dir/my_help_nasu.synctex.gz +0 -0
- data/{my_help_nasu → docs/nasu}/latex_dir/my_help_nasu.tex +12 -18
- data/docs/nasu/latex_dir/my_help_nasu.toc +35 -0
- data/docs/nasu/latex_dir/new_code.aux +44 -0
- data/docs/nasu/latex_dir/new_code.tex +237 -0
- data/{my_help_nasu → docs/nasu}/latex_dir/overview.aux +2 -2
- data/{my_help_nasu/latex_dir → docs/nasu}/latex_dir/pre.tex +0 -0
- data/docs/nasu/method.hiki +5 -0
- data/{my_help_nasu → docs/nasu}/method_bdd.hiki +14 -8
- data/{my_help_nasu → docs/nasu}/method_cucumber.hiki +14 -17
- data/{my_help_nasu → docs/nasu}/method_usage.hiki +25 -24
- data/docs/nasu/my_help_nasu/my_help_nasu.001.bb +5 -0
- data/{my_help_nasu → docs/nasu}/my_help_nasu/my_help_nasu.001.jpeg +0 -0
- data/docs/nasu/my_help_nasu/my_help_nasu.002.bb +5 -0
- data/docs/nasu/my_help_nasu/my_help_nasu.002.jpeg +0 -0
- data/docs/nasu/my_help_nasu/my_help_nasu.003.bb +5 -0
- data/docs/nasu/my_help_nasu/my_help_nasu.003.jpeg +0 -0
- data/docs/nasu/my_help_nasu/my_help_nasu.004.bb +5 -0
- data/docs/nasu/my_help_nasu/my_help_nasu.004.jpeg +0 -0
- data/docs/nasu/my_help_nasu/my_help_nasu.005.bb +5 -0
- data/docs/nasu/my_help_nasu/my_help_nasu.005.jpeg +0 -0
- data/docs/nasu/my_help_nasu/my_help_nasu.006.bb +5 -0
- data/docs/nasu/my_help_nasu/my_help_nasu.006.jpeg +0 -0
- data/docs/nasu/my_help_nasu/my_help_nasu.007.bb +5 -0
- data/docs/nasu/my_help_nasu/my_help_nasu.007.jpeg +0 -0
- data/docs/nasu/my_help_nasu/my_help_nasu.008.bb +5 -0
- data/docs/nasu/my_help_nasu/my_help_nasu.008.jpeg +0 -0
- data/docs/nasu/my_help_nasu.hiki +28 -0
- data/docs/nasu/my_help_nasu.key +0 -0
- data/docs/nasu/my_help_nasu09.key +0 -0
- data/docs/nasu/my_help_nasu1/my_help_nasu1.001.jpg +0 -0
- data/docs/nasu/nasu_abst/abst_fig.bb +5 -0
- data/docs/nasu/nasu_abst/abst_fig.png +0 -0
- data/docs/nasu/nasu_abst/my_help_nasu.001.bb +5 -0
- data/docs/nasu/nasu_abst/my_help_nasu.001.jpg +0 -0
- data/docs/nasu/nasu_abst/my_help_nasu.001.png +0 -0
- data/docs/nasu/nasu_abst/nasu_abst.aux +10 -0
- data/docs/nasu/nasu_abst/nasu_abst.log +179 -0
- data/docs/nasu/nasu_abst/nasu_abst.pdf +0 -0
- data/docs/nasu/nasu_abst/nasu_abst.synctex.gz +0 -0
- data/docs/nasu/nasu_abst/nasu_abst.tex +63 -0
- data/docs/nasu/new_code.hiki +246 -0
- data/docs/nasu/spec/.rspec +2 -0
- data/docs/nasu/spec/my_help_spec.rb +75 -0
- data/docs/nasu/spec/my_todo/todo_spec.rb +15 -0
- data/docs/nasu/spec/spec_helper.rb +11 -0
- data/docs/nasu/spec/support/aruba.rb +1 -0
- data/docs/nasu/spec/thor_spec.rb +81 -0
- data/docs/nasu/test/my_help_test.rb +11 -0
- data/docs/nasu/test/test_helper.rb +4 -0
- data/{hikis → docs}/tmp.org +0 -0
- data/docs/yagi/bachelor_thesis/final/figs/opt_thor.jpeg +0 -0
- data/docs/yagi/bachelor_thesis/final/handout/handout.aux +14 -0
- data/{my_help_nasu/latex_dir/my_help_nasu.log → docs/yagi/bachelor_thesis/final/handout/handout.log} +46 -175
- data/docs/yagi/bachelor_thesis/final/handout/handout.pdf +0 -0
- data/docs/yagi/bachelor_thesis/final/handout/handout.synctex.gz +0 -0
- data/docs/yagi/bachelor_thesis/final/handout/handout.tex +123 -0
- data/docs/yagi/bachelor_thesis/final/mk_latex/thesis/thesis.aux +46 -0
- data/docs/yagi/bachelor_thesis/final/mk_latex/thesis/thesis.dvi +0 -0
- data/{lor → docs/yagi/bachelor_thesis/final/mk_latex/thesis/thesis.lof} +0 -0
- data/docs/yagi/bachelor_thesis/final/mk_latex/thesis/thesis.lot +0 -0
- data/docs/yagi/bachelor_thesis/final/mk_latex/thesis/thesis.synctex.gz +0 -0
- data/docs/yagi/bachelor_thesis/final/mk_latex/thesis/thesis.toc +0 -0
- data/docs/yagi/bachelor_thesis/final/thesis/figs/opt_thor.png +0 -0
- data/docs/yagi/bachelor_thesis/final/thesis/final_thesis.ipynb +449 -0
- data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/latex/final_thesis.tex +718 -0
- data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/split_files/chapter1/chapter1.tex +8 -0
- data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/split_files/chapter2/chapter2.log +28 -0
- data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/split_files/chapter2/chapter2.tex +127 -0
- data/{my_help_nasu/latex_dir/method_cucumber.log → docs/yagi/bachelor_thesis/final/thesis/mk_latex/split_files/chapter3/chapter3.log} +11 -11
- data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/split_files/chapter3/chapter3.tex +328 -0
- data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/split_files/chapter4/chapter4.tex +13 -0
- data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/split_files/chapter5/chapter5.tex +5 -0
- data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/split_files/chapter6/chapter6.log +38 -0
- data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/split_files/chapter6/chapter6.tex +28 -0
- data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/split_files/informations/informations.aux +1 -0
- data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/split_files/informations/informations.log +55 -0
- data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/split_files/informations/informations.tex +6 -0
- data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/split_files/tmp/tmp.tex +1 -0
- data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/thesis/.splits_location.tex +6 -0
- data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/thesis/thesis.aux +114 -0
- data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/thesis/thesis.lof +4 -0
- data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/thesis/thesis.log +699 -0
- data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/thesis/thesis.lot +5 -0
- data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/thesis/thesis.out.ps +98 -0
- data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/thesis/thesis.pdf +0 -0
- data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/thesis/thesis.synctex.gz +0 -0
- data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/thesis/thesis.tex +30 -0
- data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/thesis/thesis.toc +22 -0
- data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/thesis/thesis_checked_180213_1433.pdf +0 -0
- data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/thesis_pieces/form00_style.tex +25 -0
- data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/thesis_pieces/tightlist_setting.tex +2 -0
- data/docs/yagi/bachelor_thesis/final/thesis/mk_latex/thesis_pieces/usepackage.tex +25 -0
- data/docs/yagi/bachelor_thesis/translation/awesome_chapter2.ipynb +84 -0
- data/docs/yagi/bachelor_thesis/translation/awesome_introduction.ipynb +328 -0
- data/docs/yagi/comparisons/.ipynb_checkpoints/Untitled-checkpoint.ipynb +6 -0
- data/docs/yagi/comparisons/.ipynb_checkpoints/comp-checkpoint.ipynb +230 -0
- data/docs/yagi/comparisons/comp.ipynb +178 -0
- data/docs/yagi/comparisons/hanami.rb +25 -0
- data/docs/yagi/comparisons/optparse.rb +21 -0
- data/docs/yagi/comparisons/thor.rb +11 -0
- data/docs/yagi/midterm_presentation/.ipynb_checkpoints/abst-checkpoint.ipynb +87 -0
- data/docs/yagi/midterm_presentation/abst.aux +16 -0
- data/docs/yagi/midterm_presentation/abst.ipynb +87 -0
- data/docs/yagi/midterm_presentation/abst.log +222 -0
- data/docs/yagi/midterm_presentation/abst.pdf +0 -0
- data/docs/yagi/midterm_presentation/abst.synctex.gz +0 -0
- data/docs/yagi/midterm_presentation/abst.tex +133 -0
- data/{my_help_nasu/latex_dir/jlisting.tex → docs/yagi/midterm_presentation/jlisting.sty} +0 -0
- data/docs/yagi/midterm_presentation/mid_keynote/mid_keynote.001.png +0 -0
- data/docs/yagi/midterm_presentation/mid_keynote/mid_keynote.002.png +0 -0
- data/docs/yagi/midterm_presentation/mid_keynote/mid_keynote.003.png +0 -0
- data/docs/yagi/midterm_presentation/mid_keynote/mid_keynote.004.png +0 -0
- data/docs/yagi/midterm_presentation/mid_keynote/mid_keynote.005.png +0 -0
- data/docs/yagi/midterm_presentation/mid_keynote.key/Data/110809_FamilyChineseOahu_EN_00317_2040x1360-small-12.jpg +0 -0
- data/docs/yagi/midterm_presentation/mid_keynote.key/Data/110809_FamilyChineseOahu_EN_02016_981x654-small-14.jpg +0 -0
- data/docs/yagi/midterm_presentation/mid_keynote.key/Data/110809_FamilyChineseOahu_EN_02390_2880x1921-small-10.jpg +0 -0
- data/docs/yagi/midterm_presentation/mid_keynote.key/Data/mt10@2x-92.jpg +0 -0
- data/docs/yagi/midterm_presentation/mid_keynote.key/Data/mt1@2x-83.jpg +0 -0
- data/docs/yagi/midterm_presentation/mid_keynote.key/Data/mt2@2x-84.jpg +0 -0
- data/docs/yagi/midterm_presentation/mid_keynote.key/Data/mt3@2x-85.jpg +0 -0
- data/docs/yagi/midterm_presentation/mid_keynote.key/Data/mt4@2x-86.jpg +0 -0
- data/docs/yagi/midterm_presentation/mid_keynote.key/Data/mt5@2x-87.jpg +0 -0
- data/docs/yagi/midterm_presentation/mid_keynote.key/Data/mt6@2x-88.jpg +0 -0
- data/docs/yagi/midterm_presentation/mid_keynote.key/Data/mt7@2x-89.jpg +0 -0
- data/docs/yagi/midterm_presentation/mid_keynote.key/Data/mt8@2x-90.jpg +0 -0
- data/docs/yagi/midterm_presentation/mid_keynote.key/Data/mt9@2x-91.jpg +0 -0
- data/docs/yagi/midterm_presentation/mid_keynote.key/Data/st0-438.jpg +0 -0
- data/docs/yagi/midterm_presentation/mid_keynote.key/Data/st1-598.jpg +0 -0
- data/docs/yagi/midterm_presentation/mid_keynote.key/Data/st2-648.jpg +0 -0
- data/docs/yagi/midterm_presentation/mid_keynote.key/Data/st3-652.jpg +0 -0
- data/docs/yagi/midterm_presentation/mid_keynote.key/Data/st4-671.jpg +0 -0
- data/docs/yagi/midterm_presentation/mid_keynote.key/Index.zip +0 -0
- data/docs/yagi/midterm_presentation/mid_keynote.key/Metadata/BuildVersionHistory.plist +8 -0
- data/docs/yagi/midterm_presentation/mid_keynote.key/Metadata/DocumentIdentifier +1 -0
- data/docs/yagi/midterm_presentation/mid_keynote.key/Metadata/Properties.plist +0 -0
- data/docs/yagi/midterm_presentation/mid_keynote.key/preview-micro.jpg +0 -0
- data/docs/yagi/midterm_presentation/mid_keynote.key/preview-web.jpg +0 -0
- data/docs/yagi/midterm_presentation/mid_keynote.key/preview.jpg +0 -0
- data/docs/yagi/thor_spec.ipynb +192 -0
- data/docs/yagi/thor_task.ipynb +98 -0
- data/exe/my_help +3 -1
- data/lib/my_help/org2yml.rb +46 -0
- data/lib/my_help/version.rb +1 -1
- data/lib/my_help/yml2org.rb +36 -0
- data/lib/my_help.rb +76 -30
- data/lib/my_help_thor.rb +170 -0
- data/lib/my_todo/my_todo.rb +5 -2
- data/lib/specific_help.rb +52 -25
- data/lib/{specific_help.rb~ → specific_help_bu.rb} +129 -89
- data/lib/specific_help_opt.rb +71 -0
- data/lib/specific_help_thor.rb +172 -0
- data/lib/templates/emacs_help.org +47 -0
- data/lib/templates/emacs_help_e.org +49 -0
- data/lib/templates/my_todo.org +11 -0
- data/lib/templates/template_help.org +8 -0
- data/make_docker.sh +5 -0
- data/my_help.gemspec +3 -2
- metadata +406 -92
- data/.DS_Store +0 -0
- data/CODE_OF_CONDUCT.md +0 -49
- data/README_en.md +0 -132
- data/exe/e_h +0 -4
- data/exe/emacs_help +0 -4
- data/exe/my_todo +0 -4
- data/hikis/README_en.hiki +0 -130
- data/hikis/README_ja.hiki +0 -316
- data/hikis/diff_against_org-mode.hiki +0 -34
- data/hikis/emacs_help.hiki +0 -47
- data/hikis/template_help.hiki +0 -51
- data/latexes/handout_pre.tex +0 -11
- data/lib/.emacs_help.rb.swp +0 -0
- data/lib/daddygongon/emacs_help.yml +0 -89
- data/lib/daddygongon/my_todo.yml +0 -31
- data/lib/daddygongon/template_help.yml +0 -33
- data/lib/emacs_help.rb~ +0 -137
- data/lib/my_todo/my_todo.rb~ +0 -7
- data/lib/todo.rb~ +0 -1
- data/my_help.wiki/Home.md +0 -330
- data/my_help.wiki/README_en.md +0 -132
- data/my_help.wiki/README_ja.md +0 -330
- data/my_help.wiki/emacs_help.md +0 -46
- data/my_help.wiki/template_help.md +0 -51
- data/my_help_nasu/.DS_Store +0 -0
- data/my_help_nasu/consideration.hiki +0 -8
- data/my_help_nasu/figs/my_help_nasu.001.jpeg +0 -0
- data/my_help_nasu/figs/my_help_nasu.001.jpg +0 -0
- data/my_help_nasu/figs/my_help_nasu1.001.jpg +0 -0
- data/my_help_nasu/latex_dir/.gitignore +0 -1
- data/my_help_nasu/latex_dir/Rakefile +0 -420
- data/my_help_nasu/latex_dir/code.aux +0 -25
- data/my_help_nasu/latex_dir/consideration.tex +0 -9
- data/my_help_nasu/latex_dir/features.aux +0 -31
- data/my_help_nasu/latex_dir/features.tex +0 -173
- data/my_help_nasu/latex_dir/hiki_help.yml +0 -53
- data/my_help_nasu/latex_dir/latex_dir/head.tex +0 -9
- data/my_help_nasu/latex_dir/latex_dir/jlisting.tex +0 -216
- data/my_help_nasu/latex_dir/my_help_nasu.pdf +0 -0
- data/my_help_nasu/latex_dir/my_help_nasu.synctex.gz +0 -0
- data/my_help_nasu/latex_dir/my_help_nasu.toc +0 -32
- data/my_help_nasu/latex_dir/overview.tex +0 -12
- data/my_help_nasu/latex_dir/pre.tex +0 -36
- data/my_help_nasu/my_help_nasu/.DS_Store +0 -0
- data/my_help_nasu/my_help_nasu.hiki +0 -32
- data/my_help_nasu/my_help_nasu.key +0 -0
- data/my_help_nasu/overview.hiki +0 -11
@@ -0,0 +1,98 @@
|
|
1
|
+
%!
|
2
|
+
/pdfmark where{pop}
|
3
|
+
{/globaldict where{pop globaldict}{userdict}ifelse/pdfmark/cleartomark load put}
|
4
|
+
ifelse
|
5
|
+
[
|
6
|
+
/Title(�^^[)
|
7
|
+
/Count -1
|
8
|
+
/Action/GoTo/Dest(chapter.1)cvn
|
9
|
+
/OUT pdfmark
|
10
|
+
[
|
11
|
+
/Title(�)
|
12
|
+
/Action/GoTo/Dest(section.1.1)cvn
|
13
|
+
/OUT pdfmark
|
14
|
+
[
|
15
|
+
/Title(^^L�^^@)
|
16
|
+
/Count -2
|
17
|
+
/Action/GoTo/Dest(chapter.2)cvn
|
18
|
+
/OUT pdfmark
|
19
|
+
[
|
20
|
+
/Title(my\137help)
|
21
|
+
/Count -2
|
22
|
+
/Action/GoTo/Dest(section.2.1)cvn
|
23
|
+
/OUT pdfmark
|
24
|
+
[
|
25
|
+
/Title(my\137help�^^a0)
|
26
|
+
/Action/GoTo/Dest(subsection.2.1.1)cvn
|
27
|
+
/OUT pdfmark
|
28
|
+
[
|
29
|
+
/Title(^^81^^P)
|
30
|
+
/Action/GoTo/Dest(subsection.2.1.2)cvn
|
31
|
+
/OUT pdfmark
|
32
|
+
[
|
33
|
+
/Title(option)
|
34
|
+
/Count -2
|
35
|
+
/Action/GoTo/Dest(section.2.2)cvn
|
36
|
+
/OUT pdfmark
|
37
|
+
[
|
38
|
+
/Title(option�^^@)
|
39
|
+
/Action/GoTo/Dest(subsection.2.2.1)cvn
|
40
|
+
/OUT pdfmark
|
41
|
+
[
|
42
|
+
/Title(Command Line Interface)
|
43
|
+
/Action/GoTo/Dest(subsection.2.2.2)cvn
|
44
|
+
/OUT pdfmark
|
45
|
+
[
|
46
|
+
/Title(f&)
|
47
|
+
/Count -8
|
48
|
+
/Action/GoTo/Dest(chapter.3)cvn
|
49
|
+
/OUT pdfmark
|
50
|
+
[
|
51
|
+
/Title(optparse^^85F^^86�.c)
|
52
|
+
/Count -3
|
53
|
+
/Action/GoTo/Dest(section.3.1)cvn
|
54
|
+
/OUT pdfmark
|
55
|
+
[
|
56
|
+
/Title(optparse)
|
57
|
+
/Action/GoTo/Dest(subsection.3.1.1)cvn
|
58
|
+
/OUT pdfmark
|
59
|
+
[
|
60
|
+
/Title(Thor)
|
61
|
+
/Action/GoTo/Dest(subsection.3.1.2)cvn
|
62
|
+
/OUT pdfmark
|
63
|
+
[
|
64
|
+
/Title(c)
|
65
|
+
/Action/GoTo/Dest(subsection.3.1.3)cvn
|
66
|
+
/OUT pdfmark
|
67
|
+
[
|
68
|
+
/Title(Thor枡^^]^^98♀�^^8b)
|
69
|
+
/Action/GoTo/Dest(section.3.2)cvn
|
70
|
+
/OUT pdfmark
|
71
|
+
[
|
72
|
+
/Title(Thor元c�^^90)
|
73
|
+
/Action/GoTo/Dest(section.3.3)cvn
|
74
|
+
/OUT pdfmark
|
75
|
+
[
|
76
|
+
/Title(exes�^^8a痊^^80)
|
77
|
+
/Action/GoTo/Dest(section.3.4)cvn
|
78
|
+
/OUT pdfmark
|
79
|
+
[
|
80
|
+
/Title(libs�^^8a)
|
81
|
+
/Action/GoTo/Dest(section.3.5)cvn
|
82
|
+
/OUT pdfmark
|
83
|
+
[
|
84
|
+
/Title(溯ws)
|
85
|
+
/Action/GoTo/Dest(section.3.6)cvn
|
86
|
+
/OUT pdfmark
|
87
|
+
[
|
88
|
+
/Title(^^Y^�w0)
|
89
|
+
/Action/GoTo/Dest(section.3.7)cvn
|
90
|
+
/OUT pdfmark
|
91
|
+
[
|
92
|
+
/Title(>9�^^H�)
|
93
|
+
/Action/GoTo/Dest(section.3.8)cvn
|
94
|
+
/OUT pdfmark
|
95
|
+
[
|
96
|
+
/Title(�)
|
97
|
+
/Action/GoTo/Dest(chapter.4)cvn
|
98
|
+
/OUT pdfmark
|
Binary file
|
@@ -0,0 +1,30 @@
|
|
1
|
+
\documentclass[12pt,a4]{jreport}%chapterが使えるスタイル
|
2
|
+
|
3
|
+
%setting format and calling packages
|
4
|
+
\input{../thesis_pieces/usepackage}% pieces
|
5
|
+
\input{../thesis_pieces/form00_style}% pieces
|
6
|
+
\input{../thesis_pieces/tightlist_setting}% pieces
|
7
|
+
%参考文献の設定============================================================
|
8
|
+
\renewcommand{\bibname}{参考文献}
|
9
|
+
|
10
|
+
%表紙=====================================================================
|
11
|
+
\input{../split_files/informations/informations}
|
12
|
+
|
13
|
+
%目次=====================================================================
|
14
|
+
\tableofcontents
|
15
|
+
|
16
|
+
% 表目次の表示==============================================================
|
17
|
+
\listoftables
|
18
|
+
|
19
|
+
% 図目次の表示==============================================================
|
20
|
+
%\listoffigures
|
21
|
+
|
22
|
+
%本文======================================================================
|
23
|
+
\input{./.splits_location.tex}
|
24
|
+
|
25
|
+
%参考文献===================================================================
|
26
|
+
%\begin{thebibliography}{9}
|
27
|
+
%\bibitem{}
|
28
|
+
%\end{thebibliography}
|
29
|
+
|
30
|
+
\end{document}
|
@@ -0,0 +1,22 @@
|
|
1
|
+
\contentsline {chapter}{\numberline {第1章}はじめに}{3}{chapter.1}
|
2
|
+
\contentsline {section}{\numberline {1.1}目的}{3}{section.1.1}
|
3
|
+
\contentsline {chapter}{\numberline {第2章}基本的事項}{4}{chapter.2}
|
4
|
+
\contentsline {section}{\numberline {2.1}my\_help}{4}{section.2.1}
|
5
|
+
\contentsline {subsection}{\numberline {2.1.1}my\_helpの目的}{4}{subsection.2.1.1}
|
6
|
+
\contentsline {subsection}{\numberline {2.1.2}使用法}{5}{subsection.2.1.2}
|
7
|
+
\contentsline {section}{\numberline {2.2}option}{6}{section.2.2}
|
8
|
+
\contentsline {subsection}{\numberline {2.2.1}optionの種類}{6}{subsection.2.2.1}
|
9
|
+
\contentsline {subsection}{\numberline {2.2.2}Command Line Interface}{8}{subsection.2.2.2}
|
10
|
+
\contentsline {chapter}{\numberline {第3章}研究内容}{9}{chapter.3}
|
11
|
+
\contentsline {section}{\numberline {3.1}optparseとThorの比較}{9}{section.3.1}
|
12
|
+
\contentsline {subsection}{\numberline {3.1.1}optparse}{9}{subsection.3.1.1}
|
13
|
+
\contentsline {subsection}{\numberline {3.1.2}Thor}{10}{subsection.3.1.2}
|
14
|
+
\contentsline {subsection}{\numberline {3.1.3}比較}{12}{subsection.3.1.3}
|
15
|
+
\contentsline {section}{\numberline {3.2}Thor化に伴う書き換え(具体的な作業)}{14}{section.3.2}
|
16
|
+
\contentsline {section}{\numberline {3.3}Thorによるサブコマンド}{14}{section.3.3}
|
17
|
+
\contentsline {section}{\numberline {3.4}exeディレクトリの書き換え}{15}{section.3.4}
|
18
|
+
\contentsline {section}{\numberline {3.5}libディレクトリ}{16}{section.3.5}
|
19
|
+
\contentsline {section}{\numberline {3.6}その他オプション}{16}{section.3.6}
|
20
|
+
\contentsline {section}{\numberline {3.7}変更後のオプション}{18}{section.3.7}
|
21
|
+
\contentsline {section}{\numberline {3.8}コマンドの自動生成}{19}{section.3.8}
|
22
|
+
\contentsline {chapter}{\numberline {第4章}総括}{21}{chapter.4}
|
Binary file
|
@@ -0,0 +1,25 @@
|
|
1
|
+
%スタイル,パッケージの設定
|
2
|
+
\usepackage[dvipdfmx]{graphicx}%図の挿入のためのパッケージ
|
3
|
+
\usepackage{amsmath}
|
4
|
+
\usepackage{setspace}
|
5
|
+
\usepackage{amssymb}
|
6
|
+
\usepackage{ascmac}
|
7
|
+
\usepackage{framed}
|
8
|
+
\usepackage{wrapfig}
|
9
|
+
\usepackage{graphicx}
|
10
|
+
\usepackage{lineno}
|
11
|
+
|
12
|
+
%余白の設定
|
13
|
+
\setlength{\textheight}{\paperheight}
|
14
|
+
\setlength{\topmargin}{4.6truemm}
|
15
|
+
\addtolength{\topmargin}{-\headheight}
|
16
|
+
\addtolength{\topmargin}{-\headsep}
|
17
|
+
\addtolength{\textheight}{-60truemm}
|
18
|
+
\setlength{\textwidth}{\paperwidth}
|
19
|
+
\setlength{\oddsidemargin}{-0.4truemm}
|
20
|
+
\setlength{\evensidemargin}{-0.4truemm}
|
21
|
+
\addtolength{\textwidth}{-50truemm}
|
22
|
+
|
23
|
+
%行間
|
24
|
+
\setstretch{1.4}
|
25
|
+
|
@@ -0,0 +1,25 @@
|
|
1
|
+
%スタイル,パッケージの設定
|
2
|
+
\usepackage[hyphens]{url}
|
3
|
+
\usepackage[dvipdfmx]{graphicx}%図の挿入のためのパッケージ
|
4
|
+
\usepackage{amsmath}
|
5
|
+
\usepackage{setspace}
|
6
|
+
\usepackage{amssymb}
|
7
|
+
\usepackage{ascmac}
|
8
|
+
\usepackage{framed}
|
9
|
+
\usepackage{wrapfig}
|
10
|
+
\usepackage{graphicx}
|
11
|
+
\usepackage[subrefformat=parens]{subcaption}
|
12
|
+
\usepackage{amsmath,amssymb}
|
13
|
+
\usepackage{comment}
|
14
|
+
\usepackage{lineno}
|
15
|
+
\usepackage{here}
|
16
|
+
\usepackage{ulem}
|
17
|
+
\usepackage{bbm}
|
18
|
+
\usepackage{braket}
|
19
|
+
\usepackage{amsmath}
|
20
|
+
\usepackage{mathtools}
|
21
|
+
\usepackage{bookmark}
|
22
|
+
\usepackage{framed}
|
23
|
+
\usepackage{soul}
|
24
|
+
\usepackage{longtable}
|
25
|
+
\usepackage{booktabs}
|
@@ -0,0 +1,84 @@
|
|
1
|
+
{
|
2
|
+
"cells": [
|
3
|
+
{
|
4
|
+
"cell_type": "markdown",
|
5
|
+
"metadata": {},
|
6
|
+
"source": [
|
7
|
+
"# CHAPTER 2 Be Easy to Use"
|
8
|
+
]
|
9
|
+
},
|
10
|
+
{
|
11
|
+
"cell_type": "markdown",
|
12
|
+
"metadata": {
|
13
|
+
"collapsed": true
|
14
|
+
},
|
15
|
+
"source": [
|
16
|
+
"あなたのアプリをインストールした後、それを用いたユーザーが最初に体験するのは実際のコマンドラインインターフェイスでしょう。もしそのインターフェイスが難しく、直感的でなく、もしくは、とても、醜いならば、たくさんの自信を呼び起こすことはできないし、ユーザーはそれを使って明確で簡潔な目的を達成するのに苦労するでしょう。逆に、使いやすければ、あなたのインターフェイスはアプリケーションに観衆と鋭さを与えてくれるでしょう。\n",
|
17
|
+
"\n",
|
18
|
+
"幸運なことに、適切な道具と技術を知っていれば、コマンドラインインターフェイスの正確さを手に入れるのは簡単です。UNIXのコマンドラインは長く物語として名高い歴史を持っており、今やコマンドラインアプリを発動する方法についてのたくさんの慣例や慣用法があります。もしあなたのアプリがこれらの慣例に従うなら、ユーザーはより簡単な時間でそれを使えるでしょう。非常に複雑なアプリでさえ、簡潔で覚えやすいインターフェイスを持つことができると私たちはわかるでしょう。\n",
|
19
|
+
"\n",
|
20
|
+
"この章では、単純なバックアップスクリプトでも複雑なコマンドライン管理システムでも、型にはまった慣用的なコマンドラインインターフェイスの作成を信じられないほど簡単にする標準ライブラリとオープンソースコミュニティツールの使い方を学びます。私たちは、RubyのOptionParserクラスを用いたシンプルなコマンドラインインターフェイスの作り方を学びます。それから、オープンソースGLIライブラリを用いて組み立てる、もっと洗練されたコマンドスイートアプリケーションに取り組みます。しかし初めに、典型的なコマンドラインインターフェイスの要素の適切な名前に慣れる必要があります。コマンドラインインターフェイスのオプション、引数、そしてコマンドなどです。\n",
|
21
|
+
"\n",
|
22
|
+
"コマンドラインアプリケーションに動作の仕方を教えるとき、普通は、実行可能ファイルの名前以上のものを入力する必要があります。例えば、私たちはgrepにどのファイルを探して欲しいのか言わなければなりません。私たちが前の章で紹介したデータベースバックアップアプリ、db_backup.rbは動作するためにユーザーネームとパスワードとデータベースネームを必要とします。必要な情報をアプリに与える初期の方法は、図1、コマンドラインアプリ実行の基本的なパーツ、14ページ、に描いてあるようにオプション経由か引数かです。この形式はオペレーティングシステムによって課されるのではなく、コマンドラインアプリのGNUスタンダードに基づいているということに留意してください。構文解析できたり、オプションや引数の受け入れができたりするコマンドラインインターフェイスの作り方を学ぶ前に、慣用語や慣習を少し深く調べる必要があります。オプションから始めて引数へと移っていきます。その後に、コマンドスイートの際立った特色であるコマンドについて議論していきましょう.\n",
|
23
|
+
"\n",
|
24
|
+
"オプションは,ユーザーがアプリの振る舞いを変更する方法です.ここで見せるlsの2つの発動を考えてみましょう.まず最初に,オプションを省いてデフォルトの振る舞いを見てみます.次に,リスティングフォーマットを変更するために-lのオプションを使います.\n",
|
25
|
+
"\n",
|
26
|
+
"オプションにはロングとショートの2つの形式があります.\n",
|
27
|
+
"\n",
|
28
|
+
"ショートフォームオプション ショートフォームオプションはダッシュを先行させた1文字,例えば-lのような形です.ショートフォームオプションは次の例のように,シングルダッシュの後に結びつけることもできます.例えば,次の2行のコードは確かに同じ結果を引き起こします.\n",
|
29
|
+
"\n",
|
30
|
+
"ロングフォームオプション ロングフォームオプションは2つのダッシュを先行させ,厳密に言うと2つ以上の文字で構成されています.しかし,ロングフォームオプションは普通,完全な単語(もしくはダッシュによって分けられた幾つかの単語)です.この理由は,オプションの意味を明確にするためです,ショートフォームオプションでは,1文字はよく記憶の手助けになります.ロングフォームオプションでは,そのオプションが何をするのかを表す単語にするという慣習があります.例えば,コマンドcurl —basic http://www.google.comでは,—basicは1つのロングフォームオプションです.ショートオプションとは違い,ロングオプションはつなげることができません.それぞれがコマンドライン上のスペースで区切られて,別々で入力されなければなりません.\n",
|
31
|
+
"\n",
|
32
|
+
"コマンドラインオプションは2つのタイプのうち1つにすることができます.スイッチはオプションを付けたり消したりするのに使われ,引数を受け取りませんでした.フラッグは,図2,スイッチとフラッグによるコマンドラインの発動,ページ15のように引数を受け取ります.フラッグは決まって引数を要求しますが,厳密に言えば,そうする必要はありません.ただ引数を受け入れる必要があります.カジュアルなユーザーを喜ばせる,71ページで,これについてさらにお話しします.\n",
|
33
|
+
"\n",
|
34
|
+
"一般的に,もしスイッチがロングフォームで(例えば—foo),いくつかの振る舞いをオンにするものならば,その振る舞いをオフにするno-が前に置かれたもう一つのスイッチもある(例えば—no-foo).\n",
|
35
|
+
"\n",
|
36
|
+
"最後に,イコールによって引数を受け取るロングフォームのフラッグもあれば,一般的にイコールを使わないショートフォームのフラッグもあります.例えばHTTPを要求するcrulコマンドはHTTPリクエストメソッドを明示するためのショートフォームフラッグもロングフォームフラッグも提供します.-Xと—requestがそれぞれそうです.次の実行例はフラッグへの引数の適切な渡し方を教えてくれます.\n",
|
37
|
+
"\n",
|
38
|
+
"いくつかのアプリはロングフォームフラッグと引数の間でイコールを要求しないとは言え,あなたのアプリはいつもイコールを受け入れるべきで,なぜならこれは引数をフラッグに与える慣用的な方法だからです.私たちはこの章の後半でRubyによって提供されるツールとそのオープンソースエコシステムがこの慣習に従うのを保証しやすくすることがわかるでしょう."
|
39
|
+
]
|
40
|
+
}
|
41
|
+
],
|
42
|
+
"metadata": {
|
43
|
+
"kernelspec": {
|
44
|
+
"display_name": "Ruby 2.3.3",
|
45
|
+
"language": "ruby",
|
46
|
+
"name": "ruby"
|
47
|
+
},
|
48
|
+
"language_info": {
|
49
|
+
"file_extension": ".rb",
|
50
|
+
"mimetype": "application/x-ruby",
|
51
|
+
"name": "ruby",
|
52
|
+
"version": "2.3.3"
|
53
|
+
},
|
54
|
+
"latex_envs": {
|
55
|
+
"LaTeX_envs_menu_present": true,
|
56
|
+
"autocomplete": true,
|
57
|
+
"bibliofile": "biblio.bib",
|
58
|
+
"cite_by": "apalike",
|
59
|
+
"current_citInitial": 1,
|
60
|
+
"eqLabelWithNumbers": true,
|
61
|
+
"eqNumInitial": 1,
|
62
|
+
"hotkeys": {
|
63
|
+
"equation": "Ctrl-E",
|
64
|
+
"itemize": "Ctrl-I"
|
65
|
+
},
|
66
|
+
"labels_anchors": false,
|
67
|
+
"latex_user_defs": false,
|
68
|
+
"report_style_numbering": false,
|
69
|
+
"user_envs_cfg": false
|
70
|
+
},
|
71
|
+
"toc": {
|
72
|
+
"nav_menu": {},
|
73
|
+
"number_sections": true,
|
74
|
+
"sideBar": true,
|
75
|
+
"skip_h1_title": false,
|
76
|
+
"toc_cell": false,
|
77
|
+
"toc_position": {},
|
78
|
+
"toc_section_display": "block",
|
79
|
+
"toc_window_display": false
|
80
|
+
}
|
81
|
+
},
|
82
|
+
"nbformat": 4,
|
83
|
+
"nbformat_minor": 2
|
84
|
+
}
|
@@ -0,0 +1,328 @@
|
|
1
|
+
{
|
2
|
+
"cells": [
|
3
|
+
{
|
4
|
+
"cell_type": "markdown",
|
5
|
+
"metadata": {},
|
6
|
+
"source": [
|
7
|
+
"# Build Awesome Command Line Applications in Ruby"
|
8
|
+
]
|
9
|
+
},
|
10
|
+
{
|
11
|
+
"cell_type": "markdown",
|
12
|
+
"metadata": {},
|
13
|
+
"source": [
|
14
|
+
"## introduction\n",
|
15
|
+
"\n",
|
16
|
+
"グラフィカルユーザーインターフェース(GUI)はいろんな点で素晴らしいものです.\n",
|
17
|
+
"冷たくまたたくカーソルの殺伐とした輝きよりも,\n",
|
18
|
+
"GUIはとりわけ初心者にとても優しいものです.\n",
|
19
|
+
"でも,それには犠牲が伴います.GUIの熟練者になるには,奥義のようなキーボードショートカットを学ぶ必要があります.\n",
|
20
|
+
"そうだとしても,あなたは生産性と効率の限界にぶち当たります.\n",
|
21
|
+
"GUIはスクリプトして自動化しにくいことで悪名高いし,それができたとしても,あなたのスクリプトは移植しにくい傾向にあります.\n",
|
22
|
+
"\n",
|
23
|
+
"でも,これらすべては問題から外れています.私たちはソフトウェア開発者であり,プログラムを書いています.我々が仕事を終わらせるのに,コードを使うことよりも自然なものがあるでしょうか.次のコマンドシーケンスで考えてみましょう.\n",
|
24
|
+
"```bash\n",
|
25
|
+
"> cd ~/Projects/cli\n",
|
26
|
+
"> vi chapter2.md\n",
|
27
|
+
"```\n",
|
28
|
+
"あなたはこの2つのコマンドを曖昧だと感じるかもしれませんが,これらはファイルを編集するとても効果的な方法です.\n"
|
29
|
+
]
|
30
|
+
},
|
31
|
+
{
|
32
|
+
"cell_type": "markdown",
|
33
|
+
"metadata": {},
|
34
|
+
"source": [
|
35
|
+
"私のキャリアの大半では,コマンドラインというとbashのようなUNIXシェルを意味していました. \n",
|
36
|
+
"bashシェルはいくつかの基本的な組み込みコマンドを提供してくれます.\n",
|
37
|
+
"さらには,UNIXシステムに同封されている他の基本的な(もしくは基本的ではない)コマンドへもアクセス可能にしてくれます.\n",
|
38
|
+
"これらのコマンドは単一目標のものであり,ユーザーとの相互作用を必要としません.\n",
|
39
|
+
"だけど,使いやすい(けど覚えにくい)ユーザーインターフェイスを伴っています.\n",
|
40
|
+
"これらの特性によって,無限に近い方法で,それらをつなぎ合わせることができます.\n",
|
41
|
+
"洗練された振る舞いの自動化,複雑な解析の実行,そして無数のテキストファイルの構文解析を,簡単にしかも間にあわせで可能にしてくれます.\n",
|
42
|
+
"これは私のキャリアの初期の頃の人生そのものでした.\n",
|
43
|
+
"そしてそれは良いものでした."
|
44
|
+
]
|
45
|
+
},
|
46
|
+
{
|
47
|
+
"cell_type": "markdown",
|
48
|
+
"metadata": {},
|
49
|
+
"source": [
|
50
|
+
"1990年代半ば,Javaが人気になるに連れて,UNIXコマンドラインユーティリティーをつなぎ合わせて何かをするというアイデアは古代のものと見られるようになってしまいました.\n",
|
51
|
+
"Javaのプログラムはシンプルなテキストベースの形を避けて,RPCによって動かされるXMLの複雑な階層構造を使ったファイルベースのインプットアウトプット(I/O)やHTTP I/Oを推奨しました.\n",
|
52
|
+
"これのおかげでとても洗練されたシステムの構築が可能となりました.\n",
|
53
|
+
"これらのシステムを組み立てたり設定したりする複雑さを抽象化するGUIの道具が飛び出してきました.\n",
|
54
|
+
"コードを書いたり組み立てたりするという行為でさえ,もっと複雑な統合開発環境(IDEs)に飲み込まれてしまいました.\n",
|
55
|
+
"コマンドラインの単純さは道に迷い始めました."
|
56
|
+
]
|
57
|
+
},
|
58
|
+
{
|
59
|
+
"cell_type": "markdown",
|
60
|
+
"metadata": {},
|
61
|
+
"source": [
|
62
|
+
"問題は,これらのツールがモデルに適していないタスクがたくさんあることです.シェルに移動して仕事を終えるのはとてつもなく簡単なんだけど...なので,私はIDEsや洗練されたGUIツールはコマンドラインの進歩であるという考えに賛成したことはありませんが,生活の事実と仲良くして,快適なパターンに住み着きました.Javaは「本当の」コードで,コマンドラインは(PerlやRubyも同様に)自動化したり,一度限りのスクリプトだったり,繰り返しのなんかを早く終わらせることを助けてくれる他のいろんなことのためのものでした."
|
63
|
+
]
|
64
|
+
},
|
65
|
+
{
|
66
|
+
"cell_type": "markdown",
|
67
|
+
"metadata": {},
|
68
|
+
"source": [
|
69
|
+
"2000年代半ば,私はRuby,Rails,素晴らしいコミュニティがそれらのツールのまわりで築き上げられていたことに気づき始めました.驚くべきことに(そして嬉しいことに),ほとんど全てのことはコマンドラインで動かせたのです.Rubyのような動的言語はIDEsにうまく適応できません(IDEはそのような言語を理解できないと議論する人もいました).そして発芽しつつある開発者のコミュニティは,一流のツール製作者のレーダーには写りませんでした.そのコミュニティはコマンドラインを取り入れ,全てをコマンドラインアプリケーションで作りました.Perlはこれを何年もしていましたが,「ポストJava」世界でのコマンドラインへの強い信奉にこの時私は初めて気づきました."
|
70
|
+
]
|
71
|
+
},
|
72
|
+
{
|
73
|
+
"cell_type": "markdown",
|
74
|
+
"metadata": {},
|
75
|
+
"source": [
|
76
|
+
"もっと面白かったことは,これらのコマンドラインアプリの中に好みや磨きが入っていることです.ほとんどの機能はコマンドベースの機能ナビゲーションを備えた本格的なヘルプシステムを特色としていましたが,単純さと相互運用性という \"UNIXの方法\"には依然として忠実なままでした.gemを例にあげてみます.次の例はあなたのシステムに他のRubyのアプリケーションとライブラリをインストールするコマンドです.\n",
|
77
|
+
"\n",
|
78
|
+
"```\n",
|
79
|
+
">$ gem help\n",
|
80
|
+
">RubyGems is a sophisticated package manager for Ruby. This >\n",
|
81
|
+
"is a basic help message containing pointers to more information.\n",
|
82
|
+
"\n",
|
83
|
+
"> Usage:\n",
|
84
|
+
"> gem -h/--help\n",
|
85
|
+
"> gem -v/--version\n",
|
86
|
+
"> gem command [arguments...] [options...]\n",
|
87
|
+
">Examples:\n",
|
88
|
+
"> gem install rake\n",
|
89
|
+
"> gem list --local\n",
|
90
|
+
"> gem build package.gemspec\n",
|
91
|
+
"> gem help install\n",
|
92
|
+
">Further help:\n",
|
93
|
+
"> gem help commands list all 'gem' commands\n",
|
94
|
+
"> gem help examples show some examples of usage\n",
|
95
|
+
"> gem help platforms show information about platforms\n",
|
96
|
+
"> gem help <COMMAND> show help on COMMAND\n",
|
97
|
+
"> (e.g. 'gem help install')\n",
|
98
|
+
">gem server present a web page at\n",
|
99
|
+
"> http://localhost:8808/\n",
|
100
|
+
"> with info about installed gems\n",
|
101
|
+
"> Further information:\n",
|
102
|
+
"> http://rubygems.rubyforge.org\n",
|
103
|
+
"```"
|
104
|
+
]
|
105
|
+
},
|
106
|
+
{
|
107
|
+
"cell_type": "markdown",
|
108
|
+
"metadata": {},
|
109
|
+
"source": [
|
110
|
+
"これは利用可能な完全なドキュメントのほんの小さな部分に過ぎず,全てそこにあるものです,コマンドラインのすぐ近くです.このツールを洗練されたものにするためにたくさんの考えが用いられていることは明らかです.これは一度限りのハッカーっぽいスクリプトではありません.Ruby on Railsの設計理念と同じように,プログラマーに対してのユーザー体験に\n",
|
111
|
+
"に与えられた明確な配慮でした.\n",
|
112
|
+
"これらのツールは誰かが寄せ集めた一度限りのスクリプトではなく,「本当の」仕事のために作られました.\n"
|
113
|
+
]
|
114
|
+
},
|
115
|
+
{
|
116
|
+
"cell_type": "markdown",
|
117
|
+
"metadata": {},
|
118
|
+
"source": [
|
119
|
+
"これが私に教えてくれたことは,コマンドラインはJavaツールの業者が私たちに信じさせたような時代遅れのものなどではないということです.それはここにあります.開発の未来は,ボタンやツールバーを操作したり,アイコンをドラッグアンドドロップしてコードを作成するだけでなくなるでしょう.コマンドラインインターフェイス固有の能率,生産性というのはいつも良い開発者の道具箱の中にあるでしょう.彼らのコマンドラインツールから使いやすさや洗練を追い求める開発者もいれば,それを届けることに興味を持つ開発者もいます!"
|
120
|
+
]
|
121
|
+
},
|
122
|
+
{
|
123
|
+
"cell_type": "markdown",
|
124
|
+
"metadata": {},
|
125
|
+
"source": [
|
126
|
+
"これがこの本の内容です.素晴らしいコマンドラインアプリケーションを届けること(そしてRubyでそれをするのがどれほど簡単かということ).コマンドラインインターフェイスのポテンシャルを解放したいプログラマーや,簡単に理解できて使用できる実際のユーザーインターフェイスを備えた洗練された堅牢なアプリケーションを作りたいプログラマーのために."
|
127
|
+
]
|
128
|
+
},
|
129
|
+
{
|
130
|
+
"cell_type": "markdown",
|
131
|
+
"metadata": {
|
132
|
+
"collapsed": true
|
133
|
+
},
|
134
|
+
"source": [
|
135
|
+
"### この本がどのように構成されているか\n",
|
136
|
+
"\n",
|
137
|
+
"次の10章の中で,私たちは,ユーザー入力,プログラム出力,コード構成からエラー処理,テスト,配布までコマンドラインアプリケーション開発の全ての詳細について議論します.2つの模範アプリケーションを組み立てたりより良くしたりすることでこれについて学びます.この本を通して,私たちは素晴らしいコマンドラインアプリケーションとは何かを学ぶためにだんだんそれらを良くしていきます.Rubyの素晴らしい構文と特徴,さらにはいくつかのオープンソースライブラリのおかげで,Rubyがそれをしやすくしてくれることがわかるでしょう.\n",
|
138
|
+
"\n",
|
139
|
+
"私たちが最初に学ぶことはー第1章,明確で簡潔な目的を持って,1ページーアプリケーションのコマンドラインに適したアプリケーションの種類です.その後に学ぶことはー第2章,使いやすく,13ページーユーザーとシステムの対話が簡単にできる素晴らしいアプリケーションを作るナットとボルトです.このチャプターはコマンドラインアプリケーションのユーザーインターフェイスの全てとアプリの2つの主なスタイルを紹介します.シンプルなUNIXのようなスタイルともっと複雑なコマンドスイートスタイルです,gitやgemのようなコマンドによって例示されます.\n",
|
140
|
+
"\n",
|
141
|
+
"第3章,役に立つものに,33ページでは,素晴らしいヘルプと使用方法の文書の提供の仕方を学びます.コマンドラインアプリはGUIと比べると発見したり学んだりするのが難しいので,これは正しいことを得るために最も重要なことの一つです.引き続いて第4章,他者とうまくやる,53ページでは私たちのアプリと他のシステムとで相互運用できるようにする方法を学びます.\n",
|
142
|
+
"\n",
|
143
|
+
"この時点で,私たちは良いコマンドラインアプリの作り方を理解しているでしょう.第5章,カジュアルなユーザーを楽しませる,71ページでは私たちは物事を次のレベルに引き上げ、アプリに磨きをかけることがいかに簡単かを学びます.この方向性は第6章,設定を簡単にする,89ページにも続いていきます.そこでは様々な好みを持つユーザーにとって使いやすいものにする方法を学びます.\n",
|
144
|
+
"\n",
|
145
|
+
"第7章,苦しまずに頒布する,101ページでは他の人がそれを使えるように,Rubygemsでアプリケーションを配布するのに必要なものすべてを取り扱っています(Rubygemsがオプションではないしっかり管理された環境でのインストールについても取り扱います).\n",
|
146
|
+
"\n",
|
147
|
+
"第8章,テストテストテスト,117ページではあなたのシステムを台無しにすることを避けるいくつかのテクニックを含むコマンドラインアプリのテストについての全てのことを学びます.アプリケーションをテストする能力には,リファクタリングする能力もあるため,管理や拡張が簡単です.第9章,管理を簡単に,141ページではコード編成に関連するいくつかの規則を扱います.さらにはコマンドラインアプリにとって最も役に立ついくつかのデザインパターンについて扱います.\n",
|
148
|
+
"\n",
|
149
|
+
"私たちは第10章,色,書式,インタラクティブ機能を追加する,153ページでコマンドラインアプリがすべきことについての限界に挑むことで終わります.着色,出力の書式について学びます.さらにはReadlineを使ったユーザーとの対話についても学びます.\n",
|
150
|
+
"\n",
|
151
|
+
"たくさんのオープンソースライブラリとオープンソースツールがRubyでコマンドラインアプリを作るのを手助けしてくれます.私たちはそのいくつかをとても詳しく見ていきます,OptionParser,GLI,そしてCucumberなどです.しかしあなたはこれらのツールだけで自らの限界を決める必要はありません.付録1,一般的なコマンドラインジェムとライブラリ,175ページでは他の人気のあるライブラリを調べますので,あなたにとって最適なツールを使用することができます."
|
152
|
+
]
|
153
|
+
},
|
154
|
+
{
|
155
|
+
"cell_type": "markdown",
|
156
|
+
"metadata": {
|
157
|
+
"collapsed": true
|
158
|
+
},
|
159
|
+
"source": [
|
160
|
+
"### Who This Book is For\n",
|
161
|
+
"\n",
|
162
|
+
"この本は,Rubyに精通しており,気がつくとコマンドラインで物事を自動化する開発者とシステム管理者の両方を対象としています(またはそうできるようになりたいと思っている人).\n",
|
163
|
+
"\n",
|
164
|
+
"- もしあなたが,気がつくと自動化タスクに直面しているが,コマンドライン周辺の様々な習慣や技術に精通していない開発者なら,この本はあなたを助けてくれるでしょう.あなたが持っているかもしれない問題は,遠い昔の全盛期に生きていたあなたが書いた 「クイックハック」スクリプトのメンテナンスです.この本はあなたの次のスクリプトを多くの時間を費やすことなく,長持ちする,洗練された,防弾の…ものにするツールと技術を与えてくれるでしょう.\n",
|
165
|
+
"\n",
|
166
|
+
"- もしあなたがシステム管理者なら,シェルスクリプトに限界や不満を感じているかもしれません.もしあなたの自動化タスクの中でbashが限界に達しているのなら,この本は全く新しい世界を開いてくれます.Rubyでコマンドラインアプリを書くことはRubyを本当に学び,より良いプログラマになる素晴らしい方法です.なぜなら,あなたの日常業務に直接適用できるからです."
|
167
|
+
]
|
168
|
+
},
|
169
|
+
{
|
170
|
+
"cell_type": "markdown",
|
171
|
+
"metadata": {},
|
172
|
+
"source": [
|
173
|
+
"### What You'll Need\n",
|
174
|
+
"\n",
|
175
|
+
"あなたが話についていくために必要な唯一のものはRubyのインストールとUNIXのようなシェルです.この本に載っている全ての例を動かすためにはRubyの2.0か2.1を持っている必要があります.そして,bashシェルがおすすめです(とはいえ私たちはたくさんのシェル特有の機能を見るつもりはありません).もしあなたが本のウェブサイトからコードをダウンロードするなら,あなたはアーカイブの頂点にいるのはGemfileであると気づくでしょう.これには,サンプルアプリケーションを実行するために必要な全てのgemのリストが含まれていなければなりません.また,このファイルをBundlerとともに使用して,全てを1工程でインストールできます.もしあなたがそれらの意味を知らなくても心配いりません.この本が必要なジェムをいつインストールすればいいかを教えてくれます.もし,物事がうまくいかないなら,あなたはジェムファイルを使って,本を書いていた時に使っていたジェムのバージョンを見ることができます.\n",
|
176
|
+
"\n",
|
177
|
+
"コマンドラインアプリと併せて以下の例を書くためには,MacとLinuxのユーザーにはテキストエディタとターミナル,もしくはシェルアプリケーションが必要になります(Rubyをすでにインストールしていると仮定しています.頒布されるLinuxのほとんどにはそれが含まれています).私はRVMを使うこととこの本の例のためのジェムセットを作ることを強くおすすめします.RVMはあなたのシステムバージョンと一緒にRubyのどんなバージョンをインストールすることも可能にします.また,gemを互いに孤立させて置くことも可能にします.これは新しいテクノロジーを学ぶ時に非常に便利です.\n",
|
178
|
+
"\n",
|
179
|
+
"Windowsユーザーの場合,例とコードはコマンドプロンプトから機能するはずです.しかし,CygwinやMSYSをインストールして,あなたのシェルにそれらのうちの1つを使用するといい経験になるでしょう.もしRubyをまだインストールしていないのであれば,Ruby Installerを使うのが最も簡単な方法です.ほとんどの場合,この本の全てのことはWindowsに対応していますが,以下は例外です.\n",
|
180
|
+
"\n",
|
181
|
+
"- .rbの接尾辞を伴うアプリの場合,ファイル拡張子をRubyと関連づける必要があります.Ruby Installerを実行するならば,これをできるようにするべきです.接尾辞がないアプリの場合,.rb拡張子との関連性を設定したと仮定して,rubyコマンドでアプリを実行する必要があります.こんな風に.\n",
|
182
|
+
"\n",
|
183
|
+
"```\n",
|
184
|
+
"c:l> ruby my_app.rb\n",
|
185
|
+
"```\n",
|
186
|
+
"\n",
|
187
|
+
"単純化するために,これを包んで.batファイルを作ることができます.\n",
|
188
|
+
"\n",
|
189
|
+
"```\n",
|
190
|
+
"@echo off\n",
|
191
|
+
"ruby my_app.rb %*\n",
|
192
|
+
"```\n",
|
193
|
+
"\n",
|
194
|
+
"%*はあなたの.batファイルに与える全てのコマンドラインパラメータがあなたのアプリに伝達されることを確実にします.\n",
|
195
|
+
"\n",
|
196
|
+
"- アルバ,コマンドラインアプリの承認テストを実行するために使用するツール,はこれを書いている時のWindowsではちゃんとサポートされていない.テストの章,第8章,テストテストテスト,117ページでは,これについてさらに詳しく説明します.\n",
|
197
|
+
"\n",
|
198
|
+
"それ以外にも,Windowsユーザーが少し違ったやりかたをする必要があるものがあれば,それを指摘しますが,一般的に言って,UNIXのようなプラットフォームとWindowsの両方でうまく機能します。"
|
199
|
+
]
|
200
|
+
},
|
201
|
+
{
|
202
|
+
"cell_type": "markdown",
|
203
|
+
"metadata": {},
|
204
|
+
"source": [
|
205
|
+
"### Conventions Used in the Book\n",
|
206
|
+
"\n",
|
207
|
+
"この本で使われているレイアウトや表記法について知っておくべき3つの重要なことがあります.Ruby,Unix,OOで必要となる背景知識のレベル,私たちがコードで作業する方法,このすべてに適合するテストです."
|
208
|
+
]
|
209
|
+
},
|
210
|
+
{
|
211
|
+
"cell_type": "markdown",
|
212
|
+
"metadata": {},
|
213
|
+
"source": [
|
214
|
+
"### Ruby, UNIX, and Object Orientation\n",
|
215
|
+
"\n",
|
216
|
+
"これはRubyでコマンドラインアプリを書くことについての本なので,Ruby言語とUNIX環境について少しは知る必要がでてくるでしょう.RubyやUNIXに慣れ親しむことと並行して,できるだけコード例を綺麗にしておくと,話についていくことができるでしょう.\n",
|
217
|
+
"\n",
|
218
|
+
"本の後半で,Rubyのオブジェクト指向の機能をもっと使い始めます.なのでどのようなクラスやオブジェクトが役に立つか分かります.また,Rubyのもっと難解ないくつかの機能に気を取られることなく,ツールやテクニックに集中することができるように,できるだけシンプルにしました.\n",
|
219
|
+
"\n",
|
220
|
+
"もしあなたがRubyを始めたばかりだったり,刷新したいだけなら,Ruby Koansや\"Pickaxe Book\"を検討してください."
|
221
|
+
]
|
222
|
+
},
|
223
|
+
{
|
224
|
+
"cell_type": "markdown",
|
225
|
+
"metadata": {},
|
226
|
+
"source": [
|
227
|
+
"### Code\n",
|
228
|
+
"\n",
|
229
|
+
"この本はコードについてのものであると指摘する価値もあります.たくさんのコードがあり,新しいちょっとしたことを一歩づつ着実にするためにベストを尽くします.この本のコードのほとんどは,時間をかけて強化したり改善したりする2つのサンプルアプリケーションからなります.私たちが変化する新しいことを指摘するために,微妙だが重要な呼び出しを使います.このようないくつかのRubyコードを考えてみてください.\n",
|
230
|
+
"\n",
|
231
|
+
"```\n",
|
232
|
+
"if !filename.nil?\n",
|
233
|
+
" File.open(filename) do |file|\n",
|
234
|
+
" file.readlines do |line|\n",
|
235
|
+
" puts line.upcase\n",
|
236
|
+
" end\n",
|
237
|
+
" end\n",
|
238
|
+
"end\n",
|
239
|
+
"```\n",
|
240
|
+
"\n",
|
241
|
+
"否定的なテストを避けるためにifをunlessに変更したくなるかもしれません.\n",
|
242
|
+
"\n",
|
243
|
+
"```\n",
|
244
|
+
"unless filename.nil?\n",
|
245
|
+
" File.open(filename) do |file|\n",
|
246
|
+
" file.readlines do |line|\n",
|
247
|
+
" puts line.upcase\n",
|
248
|
+
" end\n",
|
249
|
+
" end\n",
|
250
|
+
"end\n",
|
251
|
+
"```\n",
|
252
|
+
"\n",
|
253
|
+
"新しいunlessの文の横に矢印が表示されたのがわかりますか?新しいコードがあるたびにそれらを探してください.場合によっては,作業中にコードに大きな変更を加えることもあります.私たちは参照するために特定の行を呼び出します,このように.\n",
|
254
|
+
"\n",
|
255
|
+
"```\n",
|
256
|
+
"1 def upper_case_file(filename)\n",
|
257
|
+
"2 unless filename.nil?\n",
|
258
|
+
" File.open(filename) do |file|\n",
|
259
|
+
" file.readlines do |line|\n",
|
260
|
+
"3 puts line.upcase\n",
|
261
|
+
" end\n",
|
262
|
+
" end\n",
|
263
|
+
" end\n",
|
264
|
+
" end\n",
|
265
|
+
"```\n",
|
266
|
+
"\n",
|
267
|
+
"番号付きのリストを使うことで特定の行を議論することができます.\n",
|
268
|
+
"\n",
|
269
|
+
"1. ここで新しいメソッドの名前(upper_case_file)を決めます.\n",
|
270
|
+
"\n",
|
271
|
+
"1. nilをここで確認するので,File.openから例外が出ることはありません.\n",
|
272
|
+
"\n",
|
273
|
+
"1. 最後に,putsでそれを表示する前にファイルから読み込んだ行を大文字で表示します."
|
274
|
+
]
|
275
|
+
},
|
276
|
+
{
|
277
|
+
"cell_type": "code",
|
278
|
+
"execution_count": null,
|
279
|
+
"metadata": {
|
280
|
+
"collapsed": true
|
281
|
+
},
|
282
|
+
"outputs": [],
|
283
|
+
"source": []
|
284
|
+
}
|
285
|
+
],
|
286
|
+
"metadata": {
|
287
|
+
"kernelspec": {
|
288
|
+
"display_name": "Ruby 2.3.3",
|
289
|
+
"language": "ruby",
|
290
|
+
"name": "ruby"
|
291
|
+
},
|
292
|
+
"language_info": {
|
293
|
+
"file_extension": ".rb",
|
294
|
+
"mimetype": "application/x-ruby",
|
295
|
+
"name": "ruby",
|
296
|
+
"version": "2.3.3"
|
297
|
+
},
|
298
|
+
"latex_envs": {
|
299
|
+
"LaTeX_envs_menu_present": true,
|
300
|
+
"autocomplete": true,
|
301
|
+
"bibliofile": "biblio.bib",
|
302
|
+
"cite_by": "apalike",
|
303
|
+
"current_citInitial": 1,
|
304
|
+
"eqLabelWithNumbers": true,
|
305
|
+
"eqNumInitial": 1,
|
306
|
+
"hotkeys": {
|
307
|
+
"equation": "Ctrl-E",
|
308
|
+
"itemize": "Ctrl-I"
|
309
|
+
},
|
310
|
+
"labels_anchors": false,
|
311
|
+
"latex_user_defs": false,
|
312
|
+
"report_style_numbering": false,
|
313
|
+
"user_envs_cfg": false
|
314
|
+
},
|
315
|
+
"toc": {
|
316
|
+
"nav_menu": {},
|
317
|
+
"number_sections": true,
|
318
|
+
"sideBar": true,
|
319
|
+
"skip_h1_title": false,
|
320
|
+
"toc_cell": false,
|
321
|
+
"toc_position": {},
|
322
|
+
"toc_section_display": "block",
|
323
|
+
"toc_window_display": false
|
324
|
+
}
|
325
|
+
},
|
326
|
+
"nbformat": 4,
|
327
|
+
"nbformat_minor": 2
|
328
|
+
}
|