たとえばですが、
ある薬を投与してから、とあるイベントが発生するまでの日数を求めたいとします。
ロジックは
日数 = イベント発生日 - 投与開始日 + 1 ただし投与前に起きたイベントは、「イベント発生日 - 投与開始日」 とする。 (投与前日のイベントだったら、+1すると日数=0となって変なので。。) |
これをプログラムで書くと、通常は以下のような感じですが、、
DAY = EVENT - START +1; if EVENT < START then DAY = EVENT - START ; |
真偽値(True/False)を使うと1行でスッキリ書けちゃいます。
DAY = EVENT-START + (EVENT >= START) ; |
解説
式の中の(EVENT >= START)がポイントで、この条件が成り立つと「1:True」、成り立たないと「0:False」が返されるのを利用して、1を足すかどうかを判断させてます。
0 件のコメント:
コメントを投稿