[#47562] [Backport 200 - Backport #8716][Open] segmation fault 正規表現で大量のグループを利用時 — "taka-yoshi (taka-yoshi taka)" <smokeonthewater222@...>

15 messages 2013/08/01

[#47569] [ruby-trunk - Feature #8726][Open] Class#source_location — "takiuchi (Genki Takiuchi)" <genki@...21g.com>

14 messages 2013/08/03

[ruby-dev:47024] [ruby-trunk - Bug #8739][Closed] Range#last と#last(n)で挙動の統一がされていない

From: "matz (Yukihiro Matsumoto)" <matz@...>
Date: 2013-08-06 15:01:27 UTC
List: ruby-dev #47024
Issue #8739 has been updated by matz (Yukihiro Matsumoto).

Status changed from Rejected to Closed

むむ、リビジョン 42400で最後の要素を返す(結果として挙動を揃える非互換な方向の)変更が行われてますね。

これを機会に改めて考えると、終端は「end」メソッドを使うようにして、「last」の挙動は他のEnumerableと揃えることにしましょう。
非互換ですが、なんとかなる、でしょう、多分。

標準添付ライブラリにあった非互換問題は、リビジョン 42403、42404、42407で修正されています。

ちょっと押し切られた感じですが、まあ、長い目で見ればこれで良かったんでしょう、きっと。

Matz.

----------------------------------------
Bug #8739: Range#last と#last(n)で挙動の統一がされていない
https://bugs.ruby-lang.org/issues/8739#change-40938

Author: to_ueda (Tomoya Ueda)
Status: Closed
Priority: Normal
Assignee: matz (Yukihiro Matsumoto)
Category: 
Target version: 
ruby -v: ruby 2.1.0dev (2013-08-05) [x86_64-linux]
Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN


Range#lastは終端を返しますが、#last(n)は最後の要素を返します。
引数の有無で挙動が異なるのは意図したものでしょうか?
意図したものであれば、返す値を終端か要素どちらかに挙動を統一出来ないでしょうか。

#終端が返る
(1...5).last => 5
#最後の要素が返る
(1...5).last(1) => [4]


-- 
http://bugs.ruby-lang.org/
_______________________________________________
ruby-dev mailing list
ruby-dev@ruby-lang.org
http://lists.ruby-lang.org/cgi-bin/mailman/listinfo/ruby-dev

In This Thread

Prev Next