二年ぐらい前に、こんなコードを書いてる人*1に遭遇しまして
b ? (i = 100, s = "true") : (i = -50, s = "false");
気持ち悪いとは思ったんだけど、「if 文と同じなんだからいいじゃん」と言われて言い返せなかった当時の自分を思い出した。
条件演算子の中で副作用のあることをされてるのが、気持ち悪かったんだなー、と今更になって気づいた。
当時の話を蒸し返すのも何なので、特に指摘せずに日記に垂れ流しておいてみる? つか、副作用があっても、別に気持ち悪くないと言われたら、そこで試合終了か? と思うと、結局はそれぞれの好みの問題になる?
代入なら、まだパッと見でわかるけど、副作用のある関数を呼んだりとかされてたら、気持ち悪くない? やっぱり好みの問題?
あなたは条件演算子の中に副作用があっても良いですか? ダメですか?
*1:若い子じゃなくて私より年上でしたけど