ruby-trunk-changes r45267 - r45272

今日は Pathname#find にも ignore_error キーワード引数を追加する変更と、省略可能引数の仮引数の右辺値にその引数自体を使うことができるようにする修正などがありました。

usa: r45267 2014-03-04 22:55:24 +0900

test/ruby/*.rb の未使用変数、あいまいなメソッド引数にかっこをつけるなど警告除去をしています。

usa: r45268 2014-03-04 23:00:48 +0900

test/ruby/test_eval.rb の test_ev というメソッドがテストメソッドでなはなくてユーティリティメソッドだったので test_ という prefix はやめて make_test_binding という名称に改名しています。

ktsj: r45269 2014-03-05 00:44:53 +0900

Find.find に ignore_error というキーワード引数が追加されたのに対応して拡張ライブラリ pathname の Pathname#find も ignore_error キーワード引数を受け取るようにしています。そういえば Find.find もですけど NEWS に追記しておいたほうがいいですね。

svn: r45270 2014-03-05 00:44:58 +0900

version.h の日付更新。

nobu: r45271 2014-03-05 11:58:59 +0900

拡張ライブラリ openssl で OpenSSL のライブラリのエラーを処理する ossl_make_error() で ERR_reason_error_string() でエラー理由のメッセージが取得できなくて NULL だった時の考慮をするようにしています。

nobu: r45272 2014-03-05 15:56:49 +0900

メソッド定義において省略可能引数の代入記号の右辺値にその引数自体を参照できるようにしています。 うん? ということは引数が渡された時は右辺値は評価されないわけなので、評価される時は常に nil が入った変数になるわけですね。

def foo(var = var + 1)
  p var
end
foo 1  # => 1
foo    # => in `foo': undefined method `+' for nil:NilClass (NoMethodError)

あまり使い道はなさそうですね。 [ruby-core:61299] [Bug #9593]