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ゲーム 今日は何の日
最新エントリー

2022年05月25日15年ぶりぐらいにアプリに対する要望に応えた
2022年05月23日ナンプレくん+公開
2022年05月22日Mocoゲームはiモード公式サイトが終了したのに、未だにキャリア課金ができるサイト
2022年05月21日iOS の更新頻度が多い
2022年05月20日リジェクト再申請がまたリジェクト、その他レビューやXcode等いろいろ
2022年05月19日ATTダイアログを初回に出すようにしたい
より以前のブログ

コンテンツ分類

 DVDの話 (9)
 FLASHの事 (8)
 YouTuberと動画サイト (50)
 いろいろ (351)
 いろいろレビュー (25)
 アプリの事 (413)
 アプリ公開情報 (347)
 アプリ更新/修正情報 (202)
 インターネット全般 (14)
 ガラホの話 (6)
 クイズいろいろ (39)
 ゲーム全般 (563)
 スプラトゥーン (132)
 スポーツの話 (159)
 スマートフォンの話 (622)
 タブレットの話 (86)
 テレビの話 (22)
 ネットの話 (37)
 パソコンの話 (75)
 フォームへの返答 (38)
 プログラミングの話 (78)
 ページの事 (124)
 ページ更新情報 (159)
 ポケモンGO(位置ゲー) (96)
 ミニファミコン (13)
 メルマガの事 (20)
 家電の話 (34)
 開発情報 (316)
 技術的な話 (77)
 携帯の話 (630)
 時事的な話題 (122)
 独り言 (79)

カレンダー

     2022年05月     
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-