summaryrefslogtreecommitdiff
path: root/doc/irb/irb.rd.ja
diff options
context:
space:
mode:
authorshyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-09-04 12:22:46 +0000
committershyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-09-04 12:22:46 +0000
commit60c8455253682cbda20a90950be3777f2d819ead (patch)
treeaee645c69ff06c7687214d511c1fadaef96a07ad /doc/irb/irb.rd.ja
parenta17fd731c9cab021f3e40f63f10ac13c0e0ca516 (diff)
Change encoding from EUC-JP to UTF-8. [Feature #5128]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33181 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'doc/irb/irb.rd.ja')
-rw-r--r--doc/irb/irb.rd.ja350
1 files changed, 175 insertions, 175 deletions
diff --git a/doc/irb/irb.rd.ja b/doc/irb/irb.rd.ja
index 6e3abd7b3c..6c213a178c 100644
--- a/doc/irb/irb.rd.ja
+++ b/doc/irb/irb.rd.ja
@@ -3,23 +3,23 @@ irb -- interactive ruby
$Revision$
by Keiju ISHITSUKA(keiju@ruby-lang.org)
=begin
-= irbȤ?
+= irbとは?
-irbinteractive rubyάǤ. rubyμɸϤñ/¹Ԥ
-ΥġǤ.
+irbはinteractive rubyの略です. rubyの式を標準入力から簡単に入力/実行する
+ためのツールです.
-= ư
+= 起動
% irb
-ǹԤʤޤ.
+で行ないます.
-= Ȥ
+= 使い方
-irbλȤ, RubyΤäƤФäƴñǤ. Ūˤ irb
-ޥɤ¹ԤǤ. irb¹Ԥ, ʲΤ褦ʥץ
-ȤɽƤޤ. , rubyμƲ. 뤷Ǽ¹
-ޤ.
+irbの使い方は, Rubyさえ知っていればいたって簡単です. 基本的には irb と
+いうコマンドを実行するだけです. irbを実行すると, 以下のようなプロンプ
+トが表れてきます. 後は, rubyの式を入れて下さい. 式が完結した時点で実行
+されます.
dim% irb
irb(main):001:0> 1+2
@@ -32,55 +32,55 @@ irbλȤ, RubyΤäƤФäƴñǤ. Ūˤ irb
nil
irb(main):007:0>
-ޤ, irbReadline⥸塼ˤбƤޤ. Readline⥸塼뤬
-󥹥ȡ뤵Ƥˤ, ȤΤɸưˤʤޤ.
+また, irbはReadlineモジュールにも対応しています. Readlineモジュールが
+インストールされている時には, それを使うのが標準の動作になります.
-= ޥɥץ
+= コマンドオプション
irb.rb [options] file_name opts
options:
- -f ~/.irbrc ɤ߹ޤʤ.
- -m bc⡼(ʬ, η׻Ǥ)
- -d $DEBUG trueˤ(ruby -d Ʊ)
- -Kc ruby -KcƱ
- -r load-module ruby -r Ʊ.
- --verbose 줫¹ԤԤɽ(ǥե)
- --noverbose 줫¹ԤԤɽʤ
- --echo ¹Է̤ɽ(ǥե)
- --noecho ¹Է̤ɽʤ
- --inspect ̽ϤinspectѤ(bc⡼ɰʳϥǥե).
- --noinspect ̽ϤinspectѤʤ.
- --readline readline饤֥Ѥ.
- --noreadline readline饤֥Ѥʤ. ǥեȤư,
- inf-ruby-modeʳreadline饤֥Ѥ褦
- Ȥ.
+ -f ~/.irbrc を読み込まない.
+ -m bcモード(分数, 行列の計算ができる)
+ -d $DEBUG をtrueにする(ruby -d と同じ)
+ -Kc ruby -Kcと同じ
+ -r load-module ruby -r と同じ.
+ --verbose これから実行する行を表示する(デフォルト)
+ --noverbose これから実行する行を表示しない
+ --echo 実行結果を表示する(デフォルト)
+ --noecho 実行結果を表示しない
+ --inspect 結果出力にinspectを用いる(bcモード以外はデフォルト).
+ --noinspect 結果出力にinspectを用いない.
+ --readline readlineライブラリを利用する.
+ --noreadline readlineライブラリを利用しない. デフォルトの動作は,
+ inf-ruby-mode以外でreadlineライブラリを利用しよう
+ とする.
--prompt prompt-mode
--prompt-mode prompt-mode
- ץץȥ⡼ɤؤޤ. Ƥ
- ץȥ⡼ɤ, default, simple, xmp, inf-ruby
- ѰդƤޤ. ǥեȤdefaultץץȥ⡼
- ɤˤʤäƤޤ.
+ プロンプトモードを切替えます. 現在定義されているプ
+ ロンプトモードは, default, simple, xmp, inf-rubyが
+ 用意されています. デフォルトはdefaultプロンプトモー
+ ドになっています.
- --inf-ruby-mode emacsinf-ruby-modeѤΥץץɽԤʤ.
- ˻꤬ʤ¤, readline饤֥ϻȤʤʤ.
+ --inf-ruby-mode emacsのinf-ruby-mode用のプロンプト表示を行なう. 特
+ に指定がない限り, readlineライブラリは使わなくなる.
--simple-prompt
- ˥ץʥץץȤѤ⡼ɤǤ.
- --noprompt ץץɽԤʤʤ.
- --tracer ޥɼ¹Ի˥ȥ졼Ԥʤ.
+ 非常にシンプルなプロンプトを用いるモードです.
+ --noprompt プロンプト表示を行なわない.
+ --tracer コマンド実行時にトレースを行なう.
--back-trace-limit n
- Хåȥ졼ɽХåȥ졼Ƭ n,
- nԤʤ. ǥեȤ16
- --irb_debug n irbΥǥХåǥХå٥nꤹ(Ѥ
- ̵Ǥ礦).
- -v, --version irbΥСɽ
+ バックトレース表示をバックトレースの頭から n, 後ろ
+ からnだけ行なう. デフォルトは16
+ --irb_debug n irbのデバッグデバッグレベルをnに設定する(利用しな
+ い方が無難でしょう).
+ -v, --version irbのバージョンを表示する
-= ե졼
+= コンフィギュレーション
-irbư``~/.irbrc''ɤ߹ߤޤ. ⤷¸ߤʤ,
-``.irbrc'', ``irb.rc'', ``_irbrc'', ``$irbrc''νloadߤޤ.
+irb起動時に``~/.irbrc''を読み込みます. もし存在しない場合は,
+``.irbrc'', ``irb.rc'', ``_irbrc'', ``$irbrc''の順にloadを試みます.
-ץꤹ, ʲΥޥɤǤǥեȤư
-Ǥޤ.
+オプションを設定する代わりに, 以下のコマンドでもデフォルトの動作を設定
+できます.
IRB.conf[:IRB_NAME]="irb"
IRB.conf[:MATH_MODE]=false
@@ -101,43 +101,43 @@ irbư``~/.irbrc''ɤ߹ߤޤ. ⤷¸ߤʤ,
IRB.conf[:DEBUG_LEVEL]=0
IRB.conf[:VERBOSE]=true
-== ץץȤ
+== プロンプトの設定
-ץץȤ򥫥ޥˤ,
+プロンプトをカスタマイズしたい時には,
IRB.conf[:PROMPT]
-Ѥޤ. 㤨, .irbrcDzΤ褦ʼ򵭽Ҥޤ:
+を用います. 例えば, .irbrcの中で下のような式を記述します:
- IRB.conf[:PROMPT][:MY_PROMPT] = { # ץץȥ⡼ɤ̾
- :PROMPT_I => nil, # ̾Υץץ
- :PROMPT_N => nil, # ³ԤΥץץ
- :PROMPT_S => nil, # ʸʤɤη³ԤΥץץ
- :PROMPT_C => nil, # ³ƤΥץץ
- :RETURN => " ==>%s\n" # ꥿Υץץ
+ IRB.conf[:PROMPT][:MY_PROMPT] = { # プロンプトモードの名前
+ :PROMPT_I => nil, # 通常のプロンプト
+ :PROMPT_N => nil, # 継続行のプロンプト
+ :PROMPT_S => nil, # 文字列などの継続行のプロンプト
+ :PROMPT_C => nil, # 式が継続している時のプロンプト
+ :RETURN => " ==>%s\n" # リターン時のプロンプト
}
-ץץȥ⡼ɤꤷˤ,
+プロンプトモードを指定したい時には,
irb --prompt my-prompt
-ǤΥץץȥ⡼ɤǵưޤ. ޤ, .irbrc˲򵭽ҤƤ
-OKǤ.
+でそのプロンプトモードで起動されます. または, .irbrcに下式を記述しても
+OKです.
IRB.conf[:PROMPT_MODE] = :MY_PROMPT
-PROMPT_I, PROMPT_N, PROMPT_S, PROMPT_C, եޥåȤꤷޤ.
+PROMPT_I, PROMPT_N, PROMPT_S, PROMPT_Cは, フォーマットを指定します.
- %N ưƤ륳ޥ̾Ϥ.
- %m main֥(self)to_sǽϤ.
- %M main֥(self)inspectƽϤ.
- %l ʸΥפɽ(", ', /, ], `]'%wλ)
- %NNi ǥȤΥ٥ɽ. NNϿprintf%NNdƱ.
- άǽ
- %NNn ֹɽޤ.
+ %N 起動しているコマンド名が出力される.
+ %m mainオブジェクト(self)がto_sで出力される.
+ %M mainオブジェクト(self)がinspectされて出力される.
+ %l 文字列中のタイプを表す(", ', /, ], `]'は%wの中の時)
+ %NNi インデントのレベルを表す. NNは数字が入りprintfの%NNdと同じ. 省
+ 略可能
+ %NNn 行番号を表します.
%% %
-㤨, ǥեȤΥץץȥ⡼ɤ:
+例えば, デフォルトのプロンプトモードは:
IRB.conf[:PROMPT_MODE][:DEFAULT] = {
:PROMPT_I => "%N(%m):%03n:%i> ",
@@ -147,175 +147,175 @@ PROMPT_I, PROMPT_N, PROMPT_S, PROMPT_C, եޥåȤꤷޤ.
:RETURN => "%s\n"
}
-ȤʤäƤޤ.
+となっています.
-RETURN, ߤΤȤprintfǤ. ͤѤ뤫Τޤ.
+RETURNは, 現在のところprintf形式です. 将来仕様が変わるかも知れません.
-== irb
+== サブirbの設定
-ޥɥ饤󥪥ץ󤪤IRB.conf()irbưΥǥեȤ
-Τ, `5. ޥ'ˤconfǸ̤()irb꤬
-褦ˤʤäƤޤ.
+コマンドラインオプションおよびIRB.confは(サブ)irb起動時のデフォルトの
+設定を決めるもので, `5. コマンド'にあるconfで個別の(サブ)irbの設定がで
+きるようになっています.
-IRB.conf[:IRB_RC]procꤵƤ, irbưˤ
-procirbΥƥȤȤƸƤӽФޤ. ˤäƸ̤Υ
-irbȤѤ뤳ȤǤ褦ˤʤޤ.
+IRB.conf[:IRB_RC]にprocが設定されていると, サブirbを起動する時にその
+procをirbのコンテキストを引数として呼び出します. これによって個別のサ
+ブirbごとに設定を変えることができるようになります.
-= ޥ
+= コマンド
-irbĥޥɤ, ñ̾Ƭ`irb_'Ĥ̾ξ
-ޤ. , ñ̾override줿ΤǤ.
+irb拡張コマンドは, 簡単な名前と頭に`irb_'をつけた名前と両方定義されて
+います. これは, 簡単な名前がoverrideされた時のためです.
--- exit, quit, irb_exit
- λ.
- irbξ, Υirbλ.
+ 終了する.
+ サブirbの場合, そのサブirbを終了する.
--- conf, irb_context
- irbθߤɽ. ѹ, conf˥å뤳
- ȤˤäƹԤʤ.
+ irbの現在の設定を表示する. 設定の変更は, confにメッセージを送るこ
+ とによって行なえる.
--- conf.eval_history = N
- ¹Է̤Υҥȥ굡ǽ.
- nnnil nn>0 ǤФοҥȥˤ롣nn==0λ
- ̵¤˵롢nilȥҥȥ굡ǽϤ(ǥե).
+ 実行結果のヒストリ機能の設定.
+ nnは整数かnilで nn>0 であればその数だけヒストリにためる。nn==0の時は
+ 無制限に記憶する、nilだとヒストリ機能はやめる(デフォルト).
--- Conf.back_trace_limit
- Хåȥ졼ɽХåȥ졼Ƭn, nԤʤ.
- ǥեȤ16
+ バックトレース表示をバックトレースの頭からn, 後ろからnだけ行なう.
+ デフォルトは16
--- conf.debug_level = N
- irbѤΥǥХå٥
+ irb用のデバッグレベルの設定
--- conf.ignore_eof = true/false
- ^DϤ줿ưꤹ. trueλ^D̵뤹, false
- irbλ.
+ ^Dが入力された時の動作を設定する. trueの時は^Dを無視する, falseの
+ 時はirbを終了する.
--- conf.ignore_sigint= true/false
- ^CϤ줿ưꤹ. false, irbλ. true
- ưϰʲΤ褦ˤʤ:
- : ޤϤΤ򥭥󥻥뤷ȥåץ٥.
- ¹: ¹Ԥߤ.
+ ^Cが入力された時の動作を設定する. false時は, irbを終了する. trueの
+ 時の動作は以下のようになる:
+ 入力中: これまで入力したものをキャンセルしトップレベルに戻る.
+ 実行中: 実行を中止する.
--- conf.inf_ruby_mode = true/false
- inf-ruby-modeѤΥץץɽԤʤ. ǥեȤfalse.
+ inf-ruby-mode用のプロンプト表示を行なう. デフォルトはfalse.
--- conf.inspect_mode = true/false/nil
- 󥹥ڥȥ⡼ɤꤹ.
- true: 󥹥ڥȤɽ.
- false: ̾printɽ.
- nil: ̾⡼ɤǤ, inspect modeȤʤ, math⡼ɤλ, non
- inspect modeȤʤ.
+ インスペクトモードを設定する.
+ true: インスペクトして表示する.
+ false: 通常のprintで表示する.
+ nil: 通常モードであれば, inspect modeとなり, mathモードの時は, non
+ inspect modeとなる.
--- conf.math_mode
- ȤΤ. bc⡼(ʬ, η׻Ǥޤ)ɤ?
+ 参照のみ. bcモード(分数, 行列の計算ができます)かどうか?
--- conf.use_loader = true/false
- load/requireirbfileɤ߹ߵǽѤ⡼ɤΥå(ǥե
- ȤѤʤ). Υ⡼ɤIRBΤȿǤ.
+ load/require時にirbのfile読み込み機能を用いるモードのスイッチ(デフォ
+ ルトは用いない). このモードはIRB全体に反映される.
--- conf.prompt_c
- ifľʤ, Ԥ³ƤΥץץ.
+ ifの直後など, 行が継続している時のプロンプト.
--- conf.prompt_i
- ̾Υץץ.
+ 通常のプロンプト.
--- conf.prompt_s
- ʸʤɤɽץץ.
+ 文字列中などを表すプロンプト.
--- conf.rc
- ~/.irbrcɤ߹ɤ?
+ ~/.irbrcを読み込んだかどうか?
--- conf.use_prompt = true/false
- ץץɽ뤫ɤ? ǥեȤǤϥץץȤɽ.
+ プロンプト表示するかどうか? デフォルトではプロンプトを表示する.
--- conf.use_readline = true/false/nil
- readlineȤɤ?
- true: readlineȤ.
- false: readlineȤʤ.
- nil: (ǥե)inf-ruby-modeʳreadline饤֥Ѥ
- Ȥ.
+ readlineを使うかどうか?
+ true: readlineを使う.
+ false: readlineを使わない.
+ nil: (デフォルト)inf-ruby-mode以外でreadlineライブラリを利用しよ
+ うとする.
#
#--- conf.verbose=T/F
-# irb餤ʥåϤ뤫?
+# irbからいろいろなメッセージを出力するか?
--- cws, chws, irb_cws, irb_chws, irb_change_workspace [obj]
- objselfȤ. objά줿Ȥ, home workspace, ʤ
- irbưȤmain objectselfȤ.
+ objをselfとする. objが省略されたときは, home workspace, すなわち
+ irbを起動したときのmain objectをselfとする.
--- pushws, irb_pushws, irb_push_workspace [obj]
- UNIX륳ޥɤpushdƱ.
+ UNIXシェルコマンドのpushdと同様.
--- popws, irb_popws, irb_pop_workspace
- UNIX륳ޥɤpopdƱ.
+ UNIXシェルコマンドのpopdと同様.
--- irb [obj]
- irbΩ. objꤵ줿, objselfȤ.
+ サブirbを立ちあげる. objが指定された時は, そのobjをselfとする.
--- jobs, irb_jobs
- irbΥꥹ
+ サブirbのリスト
--- fg n, irb_fg n
- ꤷirb˥å. n, ΤΤꤹ.
+ 指定したサブirbにスイッチする. nは, 次のものを指定する.
- irbֹ
- å
- irb֥
- self(irb objǵưobj)
+ irb番号
+ スレッド
+ irbオブジェクト
+ self(irb objで起動した時のobj)
--- kill n, irb_kill n
- irbkill. nfgƱ.
+ サブirbをkillする. nはfgと同じ.
--- source, irb_source path
- UNIX륳ޥɤsourceȻƤ. ߤδĶpathΥ
- ץȤɾ.
+ UNIXシェルコマンドのsourceと似ている. 現在の環境上でpath内のスクリ
+ プトを評価する.
--- irb_load path, prev
- Rubyloadirb.
+ Rubyのloadのirb版.
-= ƥѿ
+= システム変数
--- _
- η׻μ¹Է̤ФƤ(ѿ).
+ 前の計算の実行結果を覚えている(ローカル変数).
--- __
- ¹Է̤ФƤ.
- __[line_no]ǡιԤǼ¹Ԥ̤뤳ȤǤ. line_no
- ˤϡǿη̤-line_noη̤뤳ȤǤ.
+ 実行結果の履歴を覚えている.
+ __[line_no]で、その行で実行した結果を得ることができる. line_noが負の
+ 時には、最新の結果から-line_no前の結果を得ることができる.
-=
+= 使用例
-ʲΤ褦ʴǤ.
+以下のような感じです.
dim% ruby irb.rb
- irb(main):001:0> irb # irbΩ
- irb#1(main):001:0> jobs # irbΥꥹ
+ irb(main):001:0> irb # サブirbの立ちあげ
+ irb#1(main):001:0> jobs # サブirbのリスト
#0->irb on main (#<Thread:0x400fb7e4> : stop)
#1->irb#1 on main (#<Thread:0x40125d64> : running)
nil
- irb#1(main):002:0> fg 0 # jobΥå
+ irb#1(main):002:0> fg 0 # jobのスイッチ
nil
irb(main):002:0> class Foo;end
nil
- irb(main):003:0> irb Foo # Foo򥳥ƥȤirb
- # Ω
- irb#2(Foo):001:0> def foo # Foo#foo
+ irb(main):003:0> irb Foo # Fooをコンテキストしてirb
+ # 立ちあげ
+ irb#2(Foo):001:0> def foo # Foo#fooの定義
irb#2(Foo):002:1> print 1
irb#2(Foo):003:1> end
nil
- irb#2(Foo):004:0> fg 0 # job򥹥å
+ irb#2(Foo):004:0> fg 0 # jobをスイッチ
nil
- irb(main):004:0> jobs # jobΥꥹ
+ irb(main):004:0> jobs # jobのリスト
#0->irb on main (#<Thread:0x400fb7e4> : running)
#1->irb#1 on main (#<Thread:0x40125d64> : stop)
#2->irb#2 on Foo (#<Thread:0x4011d54c> : stop)
nil
- irb(main):005:0> Foo.instance_methods # Foo#foo
- # Ƥ
+ irb(main):005:0> Foo.instance_methods # Foo#fooがちゃんと定義さ
+ # れている
["foo"]
- irb(main):006:0> fg 2 # job򥹥å
+ irb(main):006:0> fg 2 # jobをスイッチ
nil
- irb#2(Foo):005:0> def bar # Foo#bar
+ irb#2(Foo):005:0> def bar # Foo#barを定義
irb#2(Foo):006:1> print "bar"
irb#2(Foo):007:1> end
nil
@@ -325,36 +325,36 @@ irbĥޥɤ, ñ̾Ƭ`irb_'Ĥ̾ξ
nil
irb(main):007:0> f = Foo.new
#<Foo:0x4010af3c>
- irb(main):008:0> irb f # FooΥ󥹥󥹤irb
- # Ω.
+ irb(main):008:0> irb f # Fooのインスタンスでirbを
+ # 立ちあげる.
irb#3(#<Foo:0x4010af3c>):001:0> jobs
#0->irb on main (#<Thread:0x400fb7e4> : stop)
#1->irb#1 on main (#<Thread:0x40125d64> : stop)
#2->irb#2 on Foo (#<Thread:0x4011d54c> : stop)
#3->irb#3 on #<Foo:0x4010af3c> (#<Thread:0x4010a1e0> : running)
nil
- irb#3(#<Foo:0x4010af3c>):002:0> foo # f.fooμ¹
+ irb#3(#<Foo:0x4010af3c>):002:0> foo # f.fooの実行
nil
- irb#3(#<Foo:0x4010af3c>):003:0> bar # f.barμ¹
+ irb#3(#<Foo:0x4010af3c>):003:0> bar # f.barの実行
barnil
- irb#3(#<Foo:0x4010af3c>):004:0> kill 1, 2, 3# jobkill
+ irb#3(#<Foo:0x4010af3c>):004:0> kill 1, 2, 3# jobのkill
nil
irb(main):009:0> jobs
#0->irb on main (#<Thread:0x400fb7e4> : running)
nil
- irb(main):010:0> exit # λ
+ irb(main):010:0> exit # 終了
dim%
-= Ѿ
+= 使用上の制限
-irb, ɾǤ(Ĥ)Ǥ༡¹ԤԤʤޤ.
-, rubyľܻȤä, 㴳ۤʤưԤʤ礬ޤ.
+irbは, 評価できる時点(式が閉じた時点)での逐次実行を行ないます. したがっ
+て, rubyを直接使った時と, 若干異なる動作を行なう場合があります.
-餫ˤʤäƤޤ.
+現在明らかになっている問題点を説明します.
-== ѿ
+== ローカル変数の宣言
-rubyǤ, ʲΥץϥ顼ˤʤޤ.
+rubyでは, 以下のプログラムはエラーになります.
eval "foo = 0"
foo
@@ -363,24 +363,24 @@ rubyǤ, ʲΥץϥ顼ˤʤޤ.
---
NameError
-Ȥ, irbѤ
+ところが, irbを用いると
>> eval "foo = 0"
=> 0
>> foo
=> 0
-Ȥʤ, 顼򵯤ޤ. , rubyǽ˥ץΤ򥳥
-ѥ뤷ƥѿꤹ뤫Ǥ. Ф, irbϼ¹Բǽ
-ʤ(Ĥ)ȼưŪɾƤ뤫Ǥ. 嵭Ǥ,
+となり, エラーを起こしません. これは, rubyが最初にスクリプト全体をコン
+パイルしてローカル変数を決定するからです. それに対し, irbは実行可能に
+なる(式が閉じる)と自動的に評価しているからです. 上記の例では,
evel "foo = 0"
-ԤʤäɾԤʤ, λѿ뤿,
-ѿfooƤ뤫Ǥ.
+を行なった時点で評価を行ない, その時点で変数が定義されるため, 次式で
+変数fooは定義されているからです.
-Τ褦rubyirbưΰ㤤褷, begin...enddzä
-ХåŪ˼¹ԤƲ:
+このようなrubyとirbの動作の違いを解決したい場合は, begin...endで括って
+バッチ的に実行して下さい:
>> begin
?> eval "foo = 0"
@@ -390,14 +390,14 @@ rubyǤ, ʲΥץϥ顼ˤʤޤ.
(irb):3
(irb_local_binding):1:in `eval'
-== ҥɥ
+== ヒアドキュメント
-ߤΤȤҥɥȤμԴǤ.
+現在のところヒアドキュメントの実装は不完全です.
-== ܥ
+== シンボル
-ܥǤ뤫ɤȽǤְ㤨뤳Ȥޤ. Ūˤϼλ
-ƤΤ˷³ԤȸʤȤޤ.
+シンボルであるかどうかの判断を間違えることがあります. 具体的には式が完了
+しているのに継続行と見なすことがあります.
=end