[#49270] [Ruby trunk - Feature #11558] Time related C APIs — akr@...
Issue #11558 has been updated by Akira Tanaka.
7 messages
2015/09/30
[#49275] Re: [Ruby trunk - Feature #11558] Time related C APIs
— KOSAKI Motohiro <kosaki.motohiro@...>
2015/09/30
>> 既存の非公開APIを公開してください。
[#49278] Re: [Ruby trunk - Feature #11558] Time related C APIs
— Tanaka Akira <akr@...>
2015/10/01
2015年10月1日 7:03 KOSAKI Motohiro <kosaki.motohiro@gmail.com>:
[ruby-dev:49262] [Ruby trunk - Feature #11538] ensure variable syntax
From:
matz@...
Date:
2015-09-18 16:31:12 UTC
List:
ruby-dev #49262
Issue #11538 has been updated by Yukihiro Matsumoto. `ensure => e` で e が受け取る値を明確に定義してください。ensureはいろいろな場合(正常終了、例外、throwなど)に呼ばれるので、それぞれのケースについてどうなるのかが気になります。 Matz. ---------------------------------------- Feature #11538: ensure variable syntax https://bugs.ruby-lang.org/issues/11538#change-54238 * Author: yasuhiro arima * Status: Open * Priority: Normal * Assignee: ---------------------------------------- ensure の構文を拡張して、コンテキストの値を受け取れるようにする提案です。 rescue で例外オブジェクトを変数に受けて参照するのと同様に、ensure で結果のオブジェクトを参照します。 ensure '=>' lhs 途中での return による打ち切りなどによって、適切でない値が返ることがあります。 現状でこれを確認するためには、ensure で参照できるようにあらかじめ変数に束縛する必要があります。 ~~~ruby def abs( arg ) retval = nil return retval = arg if arg > 0 return retval = -arg if arg < 0 retval ensure p retval end ~~~ これを ensure で変数に束縛できると、記述が簡潔になります。 ~~~ruby def bar( arg ) return arg if arg > 0 return -arg if arg < 0 ensure => retval p retval end ~~~ パッチはつくっていませんが、そろそろ締め切りらしいので提案してみます。 -- https://bugs.ruby-lang.org/