1. Mocoゲーム >
  2. Mocoゲームブログ >
  3. 三項演算子はないと不便、悪くない


Mocoゲームブログ

ゲーム作成の悲喜こもごも… 開発状況やアプリ(無料ゲーム多数)に関すること、携帯電話やスマホのこと、公式ストア(Google Play, App Store)でのアプリ公開のこと、プログラミングのこと、更新情報などをアップしています。ガラケー時代からかれこれ15年以上継続しているブログです。Android(java)や iPhone開発(Xcode, Objective-C, C++ によるiOSアプリ開発)に関する技術的なことも時々アップしています。
ツイートする

三項演算子はないと不便、悪くない

分類: プログラミングの話
日付: 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 でダウンロード可能です。



関連ブログ

 目の劣化と三項演算子
 複数のアプリを一つに集めるツール
 趣味でプログラミングの勉強も兼ねてアプリ開発したい場合、Android, iOS どちらが良いか?
 プログラマーの35歳限界説を考える

前後のブログ

 2022年04月23日 スプラトゥーン3発売日決定!ナワバリ動画を見て思ったこと
 2022年04月22日 おいちょかぶの「かちかち(じゅんじゅん)」を更新
 2022年04月21日 三項演算子はないと不便、悪くない
 2022年04月20日 目の劣化と三項演算子
 2022年04月19日 身近に Windows 11 の被害者が発生!
 2022年04月18日 いろいろ頑張っているのですが、なかなか大変、最新の開発事情
より最新のブログ
より以前のブログ
ブログTOP Mocoゲーム 今日は何の日
最新エントリー

2024年10月30日今更ながらアダプティブアイコンに対応
2024年10月29日ソリティア大集合に「砦」追加
2024年10月28日成金大作戦究極版のAIを強くする方法(禁断)
2024年10月26日MLB、野球、ゴルフ、将棋
2024年10月25日成金大作戦究極版のAIを賢くする
2024年10月24日AIの素材
より以前のブログ

コンテンツ分類

 AI(人工知能)の話 (37)
 YouTuberと動画サイト (74)
 いろいろ (365)
 いろいろレビュー (27)
 アプリの事 (367)
 アプリストアの話 (270)
 アプリ公開情報 (367)
 アプリ更新/修正情報 (248)
 クイズいろいろ (40)
 ゲーム全般 (669)
 スプラトゥーン (207)
 スポーツの話 (205)
 スマートフォンの話 (563)
 タブレットの話 (97)
 テレビの話 (25)
 ネットの話 (92)
 パソコンの話 (91)
 フォームへの返答 (39)
 プログラミングの話 (95)
 ページの事 (135)
 ページ更新情報 (171)
 ポケモンGO(位置ゲー) (115)
 メルマガの事 (20)
 家電の話 (44)
 開発情報 (346)
 技術的な話 (92)
 携帯の話 (647)
 時事的な話題 (141)
 将棋の話 (38)
 独り言 (81)

カレンダー

     2024年10月     
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
ブログカレンダー


Follow @MocoGames
ツイッターフォローお願いします。
(C)Mocoゲーム 2005-