unlessとif文の続き。
a = nil unless a puts "false" else puts "true" end
ifとは逆でfalseだったら配下の処理が実行される。
そういえば、Perlにもあったなぁ。Perlにもあったといえば、
a = true b = 1 if a puts b
1が出力される。if修飾子と言うらしい。
あぁ、思い出した。Perlにまつわる辛い思い出を。
時は数年前、世間は猫も杓子もホームページ。私が勤める会社もせっせとホームページを作っていました。私はASPでシコシコとやっていたのですが、それが突如、Perlで書かれたCGIのメンテナンスをやることになりました。始めて見るPerlは記号だらけ、呪文のようでした。半泣きになりながらも、どうにかこうにか納品したことを思い出しました。ああああああ。
それはそうと、if修飾子でfalseが返される場合はどうなるのか。
a = false b = 1 if a puts b
nilが出力される。
当然、unlessでもいけるだろう。
a = false b = 1 unless a puts b
1が出力される。