require "minitest/autorun" def tohash(array) array.each_slice(2).inject({}) {|hash, (key, value)| hash[key]=value;hash} end class ArrayToHashTest < Minitest::Test def test_array_to_hash assert_equal ({:a=>1, :b=>4}), tohash([:a,1,:b,4]) end end メインはclass ArrayToHashTestでハッシュと関数呼び出し結果を比較している。 初期目がちかちかしてわかり辛かったが関数に渡しているのは配列である。(ハッシュじゃないよー tohashで配列をarrayで受け取り、 each_slice(2)で配列を2個づつブロック化します。 inject({
