今日はキーワード引数の splat 渡しという新しい文法が追加されています。
nobu:r35489 2012-04-29 06:12:05 +0900
キーワード引数に Hash を展開して渡す新しい文法を導入しています。メソッド定義側で引数を受けとるほうは既に **keywords で残りのキーワード引数をすべて Hash として受け取る記法がありますが、呼び出すほうで Hash からキーワード引数として渡すことができるようになりました。 [ruby-core:44591] [Feature #6353]
def m(key1: 1, key2: 2) p [key1, key2] end a = { :key2 => 42 } m(key1: 41, **a) # => [41, 42]
こんな感じで使えます。なおこの時 "**" つきで渡されるオブジェクトは to_hash メソッドを呼んで Hash に暗黙の変換をしようとしますので、to_hash が定義されていないオブジェクトを渡すと TypeError が発生します。
svn:r35490 2012-04-29 06:12:10 +0900
version.h の日付更新。
tenderlove:r35491 2012-04-29 07:24:01 +0900
Psych のテストに "null" をパースした時のテストが追加されています。