andやorはboolを返すものだと思っていましたが、どうやらそうではない。 'foo' and '' → '' 'foo' or '' → 'foo' あたりは何となくわかりますが、なぜ 'foo' and 'bar' → 'bar' 'foo' or 'bar' → 'foo' のようにandとorで結果が異なるのか。 そのあたりの挙動について、ドキュメントのブール演算子の項を参考に以下にまとめました。 and演算子、or演算子の評価ロジック x and yもx or yも、基本的には以下の評価を行い、結果を返す。 xの真偽値によって式全体の真偽値が確定する場合(yの真偽値に関わらず式全体の真偽値が確定する場合)はxを返す。 xの真偽値だけでは式全体の真偽が確定しない場合(yの真偽値を見て初めて式全体の真偽値が確定する場合)はyを返す。 ※なお、not演算子については、戻り値はいつでも
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く