s.split('').zip(t.split('')).inject(0){|x,y| y[0] == y[1] ? x : x += (y[0] =~ /[aiueo]/ ? 2 : 1) }
とりあえず脊髄反射的にバラしてみる
s_splitted = s.split('') t_splitted = t.split('') zipped = s_splitted.zip(t_splitted) zipped.inject(0){|x,y| y[0] == if y[1] then x else x += if y[0] =~ /[aiueo]/ then 2 else 1 end end }
split ttp://www.ruby-lang.org/ja/man/html/String.html#split zip ttp://www.ruby-lang.org/ja/man/html/Enumerable.html#zip inject ttp://www.ruby-lang.org/ja/man/html/Enumerable.html#inject