多くのキーを持つハッシュを作成し、nil
値を持つキーを省略したい:
h = {
:key0 => val0,
:key1 => val1, # I want to include this key only if val1 is not nil
:key2 => val2
}
それ以外に何か良い方法はありますか
if val1
h = {
:key0 => val0,
:key1 => val1,
:key2 => val2
}
else
h = {
:key0 => val0,
:key2 => val2
}
end
の線に沿った何か
h = {
:key0 => val0,
:key1 => val1 if val1, # gives an error
:key2 => val2
}
編集:これまでの回答に感謝します。本当に便利です。後で処理することなくハッシュリテラルを定義する方法はありますか?