ruby-trunk-changes r53857 - r53867

今日は MatchData#named_captures というメソッドの追加と、Symbol#match の挙動の変更(おかしな仕様になってたのを修正)がありました。

usa: r53857 2016-02-17 23:21:57 +0900

r53841 の Dir.empty? の追加時に追加したテストで "..." という名前のファイルを作ろうとしていたのでそれは Windows 環境以外でのみ行うようにして、普通の名前("A")のファイルを作るようにしています。 あーそういえば Windows では "." で終わるファイルは作れないんだったっけ。

kazu: r53858 2016-02-17 23:33:31 +0900

r53856 の ChangeLogtypo というか、特殊変数名と id 名の対応をつけるように入れ換えています。

nobu: r53859 2016-02-18 00:00:10 +0900

r53855 の ChangeLog エントリが重複していたのを修正しています。

svn: r53860 2016-02-18 00:00:11 +0900

version.h の日付更新。

nobu: r53861 2016-02-18 00:14:03 +0900

Dir.empty? のテストを再修正しています。 ".dot" というファイルを含むディレクトリをテスト対象に追加しているようです。 "..." はやめたようです。

nobu: r53862 2016-02-18 00:16:37 +0900

Dir.empty? のテストにさらにディレクトリ内にディレクトリがある場合のテストケースも追加しています。

sorah: r53863 2016-02-18 14:29:18 +0900

MatchData#named_captures というメソッドが追加され、正規表現の名前つきキャプチャで対応する名前とマッチした部分文字列の Hash オブジェクトとして返すようにしています。マッチしなかったキャプチャも名前のキーは存在して値が nil になるようにしているようです。 [ruby-core:72897] [Feature #11999]

svn: r53864 2016-02-18 14:29:19 +0900

r53863 の行末の空白除去。

nobu: r53865 2016-02-18 16:53:13 +0900

tool/downloader.rb でダウンロードに使うプロトコルhttps じゃない時の警告を、URL を組み立てるところではなく実際にダウンロードする直前に移動しています。

nobu: r53866 2016-02-18 21:06:20 +0900

Symbol#match はこれまで String#=~ メソッドに委譲していましたが、同名の String#match に委譲するように変更しています。 =~ と match だと挙動(戻り値)も違いますしねー。ほとんどバグと言ってもいいくらいですが互換性問題があるので…と思ってチケットをみたら naruse さんも同意見だったので 2.4 からの仕様変更扱いになりそうです。 [ruby-core:72864] [Bug #11991]

kazu: r53867 2016-02-18 21:33:48 +0900

man/irb.1 のサンプルコードで def によるメソッド定義がメソッド名の Symbol を返すようになったのに追随させています。すごいなぁ、よくここに気がついたなぁ。