From: matz@... (Yukihiro Matsumoto) Date: 2000-12-03T01:15:58+09:00 Subject: [ruby-list:26269] Re: [ruby-talk:6666] Suggestion for addition to Begin/End syntax まつもと ゆきひろです In message "[ruby-list:26268] Re: [ruby-talk:6666] Suggestion for addition to Begin/End syntax" on 00/12/02, ARIMA Yasuhiro writes: |if expr | に対して |end if | |def foo() | に対して |end def |end foo |end def foo | と書けたらいいなという話です。 | |まず、ruby-mode 等の支援がないところを考えると、例えば foo を bar に |変えたいときに "end foo", "end def foo" だと2個所変更する必要が |あるのでいやですが、"end def" は、嬉しいかと思います。 |具体的には end [def,class,module,do,if,unless,while,until,case] 。 | |すでにまつもとさんからは、ruby-0.6 以前は end if が使える仕様だったけど |if 修飾などを導入したときに削除したとのフォローがありました。 そうですね。ruby-mode(ないしは類似物)を使ってくれ、という暗 黙の要求でもあります。 |でも、if 修飾と end if は矛盾しない方法もあるかと思います。 | |現状では、end if で行末(等)ならば、評価するべき式を次の行に求めていますが、 |最低、ひとつの式を if の直後に必要とすれば違いが区別できます。 ひとつのアイディアですよね。でも、現時点ではやはりコストに見 合う効果はなさそうに感じます。ちょっと考えた範囲内ではlexer にまたad hocな状態の追加が必要そうです。 まつもと ゆきひろ /:|)