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

2023年02月02日AI と言うブログジャンルを作りました
2023年01月31日「NBA All World」を遊んでみました
2023年01月30日ChatGPT をかなり使ってみた(πの求め方も聞いたら笑ってしまった)
2023年01月28日ポケカを景品にビンゴ(あのキャリアの販促のやつ)&1円携帯
2023年01月27日スラドにあった 10 の理由を考察
2023年01月26日ユニット名に統一が取れていない成金大作戦シリーズ
より以前のブログ

コンテンツ分類

 AI(人工知能)の話 (17)
 DVDの話 (9)
 FLASHの事 (8)
 YouTuberと動画サイト (55)
 いろいろ (360)
 いろいろレビュー (26)
 アプリの事 (444)
 アプリ公開情報 (354)
 アプリ更新/修正情報 (211)
 インターネット全般 (14)
 ガラホの話 (6)
 クイズいろいろ (39)
 ゲーム全般 (599)
 スプラトゥーン (152)
 スポーツの話 (170)
 スマートフォンの話 (643)
 タブレットの話 (88)
 テレビの話 (24)
 ネットの話 (40)
 パソコンの話 (80)
 フォームへの返答 (38)
 プログラミングの話 (79)
 ページの事 (125)
 ページ更新情報 (161)
 ポケモンGO(位置ゲー) (102)
 ミニファミコン (13)
 メルマガの事 (20)
 家電の話 (34)
 開発情報 (326)
 技術的な話 (84)
 携帯の話 (639)
 時事的な話題 (127)
 独り言 (79)

カレンダー

     2023年02月     
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
ブログカレンダー


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