![]() 分類: プログラミングの話 日付: 2022年04月21日公開 機能の続きで、三項演算子の話です。 三項演算子は多くの言語に採用されていますが、例えば「Go」には採用されていないようです。 理由はGoに三項演算子が採用されない理由に書いてあるのですが、「言語の設計者が、操作が頻繁に使用されて不可解な複雑な式を作成するのを見ていたためです。」とあります。 言いたいことは変わらなくはないです。文法エラーがあったら見つけにくいとは昨日自分が書いたことですし。 ただし、昨日の例文(少し変数名を変えました)なら weather = "今日は" + (today_hare ? "晴" : "雨") + "でした"; とかけるところを if (today_hare) "今日は晴れでした"; else "今日は雨でした"; と書く必要があります。この方がシンプルじゃないかと思うかもしれませんが、この日本語文ならそうかもしれません。しかしもっと長い日本語文になると、「でした」を「です」に変えたい場合、2箇所変更しないと駄目です。 これは自分的に NG なプログラミングです(1箇所だけ変更して、もう1箇所を変更し忘れるとかよくあるバグの原因です)。 その問題を解決する書き方は、 if (today_hare) tenki = "晴"; else tenki = "雨"; weather = "今日は" + tenki + "でした"; になりますが、行数が多く個人的にはいまいちです。 なので三項演算子がある言語では三項演算子を使い続けますが、三項演算子中に三項演算子を書くみたいなのは流石に止めたほうが良いとは思います。 アプリゲーム紹介 Mocoゲーム作成で比較的人気の無料ゲーム ガイラルディア外伝 を公開中です。Google Play 及び App Store でダウンロード可能です。 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ⇒ より最新のブログ ⇒ より以前のブログ
|
最新エントリー![]()
⇒ より以前のブログ コンテンツ分類 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() カレンダー ![]() 2025年03月 ⇒ ブログカレンダー |