エラーばかり投稿してもつまらないので、今回はif文とunless文について学んだことを書いていきたいと思います。
if文とは
if A = B
#処理
end
AはBである
という内容が、
正しければ処理を実行し、
正しくなければ処理を実行しません。
unless文とは
unless A = B
#処理
end
AはBである
という内容が、
正しければ実行せず、
正しくなければ実行します。
=
は等しいかどうかを比較するときに使います。
if文ではAとBが等しいときにtrue
となり、処理を実行し、
逆にunless文ではAとB等しくない時にtrue
となり、処理を実行するというわけです。
それでは比較演算子の1つである!=
を使うとどうなるでしょうか?
比較演算子の !=
とは
=
とは逆で等しくないことを比較するときに使う比較演算子です。
要するに
if A != B
#処理
end
AはBではない
という内容が
正しければ処理を実行し、
正しくなければ処理を実行しません。
unless A != B
#処理
end
AはBではない
という内容が、
正しければ実行せず、
正しくなければ実行します。
何やらこんがらがってきました。
文字に書くと難しくなってきましたが、要するに
if A = B と unless A != Bは同じ
if A != B と unless A = B は同じ
という解釈で大丈夫そうです。
どちらを使えばいいか
可読性も考え、基本的にはif文
を使用した方が良いみたいです。
英語におけるifの否定(if not)
とunless
の違い
英語が得意だ!という人からすると信じられないかもしれませんね。
理由は、例えば
A if he isn't B.
という英文と
A unless he is B.
という英文は全く違う意味だからです
英語の授業ではないので英文の例文や意味は記述しません。
ただ、プログラミングにおけるifとunlessは難しく考えず、逆の意味程度にとどめておいた方が良いかもしれません。
#終わり
英語が得意ではなかったですが、ifとunlessの使い方を疑問に思い、調べたり聞いたりした結果でした。
調べる前までは、
肯定したければif
否定したければunless
という考え方でした。
これからは基本的にはif文を使っていきたいと思います。