>x=a[i] if true == a.key?(i)
if x = a[i]

キーが存在しなければ、nil を返すから、
そのまま、if の条件に書ける

また、Hash.new("")の引数や、
a.fetch(i, "") の第2引数に指定すれば、
キーが存在しない際、指定した文字列、
例えば、空文字列を返す


ちなみに真偽値は、if にそのまま書ける
>if true == 真偽値
if 真偽値

false, nil は偽。それら以外は真。
!真偽値で、真偽値を反転する