« EPUB3 への遅々たる道のり | トップページ | 4月なのにルビー »

ifとunless、andとorでハマる

 はまってしまったのでメモ。

 return hoge unless 10 >= a or 10 >= b

 みたいな処理をしていたら期待する動きをしなくなっていた。動いていたような気はするのだけれど。どの時点でこう書いたのかはもう覚えていないので、あるいは最初は違ったのかもしれない。

 で、考えたら unless だから逆に考えないといけないわけで、a の方と b の方とどちらか一方でも該当すればなので、

 if 10 >= a or 10 >= b

 といった意味にしたいのであれば、

 unless 10 >= a and 10 >= b

 とするべきだったのだなと。

 これまでは unless を使うことがほとんどなくて、最近になってなかなか便利なときもあるじゃない、などと思って使い始めたのもあってハマッてしまった。

追記:
 つまりは、わかりにくい書き方はやめようね、ということですよね。

|
|

« EPUB3 への遅々たる道のり | トップページ | 4月なのにルビー »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/28835/54361442

この記事へのトラックバック一覧です: ifとunless、andとorでハマる:

« EPUB3 への遅々たる道のり | トップページ | 4月なのにルビー »