Hash[[[1,2],[3,4]]] のようなHashの挙動はどのように解釈すればいいですか?
先日activesupportのObject#instance_values
メソッドのソースコードを読んでいたら
Hashについてわからないことがあったので質問させていただきます.
Hash[] #=> {}
Hash[[]] #=> {}
Hash[[[]]] #=> invalid number of arguments
Hash[[[1,2],[3,4]]] #=> {1=>2, 3=>4}
上に挙げたこれらのコードの挙動を教えていただけますでしょうか.
下記はactivesupportのObject#instance_values
のソースコードです.
def instance_values
Hash[instance_variables.map { |name| [name[1..-1], instance_variable_get(name)] }]
end