まつもと ゆきひろです
In message "[ruby-list:7469] [Q]ensure"
on 98/04/15, Makoto Nukui <gnue / cyborg.ne.jp> writes:
|はじめまして、GNUE(鵺)[ヌエ]といいます。
|ruby歴2日の新参者です。
|ところで質問なのですが
|
| def test1
| db = DBM.open('test');
| ensure
| db.close;
| end
|
|としようとすると構文エラーとなります。
そうですね.今の文法ではそうなってます.
|これだと begin ブロックが
|冗長なような気がします。def...end は begin ブロック
|と同じと考えるのは間違っているのでしょうか?
現時点ではそうですね.
defを暗黙のbeginブロックとするというのはひとつのアイディアで
はありますが,では,moduleやclassはどうなのだ,とかいう点も
気になりますし,JavaやPythonなどの言語でも例外処理用の構文は
独立しているので,「現時点では」これはこれで良いのだ,例外処
理を行う気分を盛り上げるのに貢献しているのだ,と思ってます.
rubyの場合,あまり本気で例外捕捉を行わない事が多いんで(Java
みたいに捕捉しないからといってエラーになるわけでもないし),
そんなに気にならないのかも知れません.
まつもと ゆきひろ /:|)