タグ付けされた質問 「conditional-operator」

条件演算子は、いくつかのプログラミング言語の基本的な条件式の構文の一部である三項演算子です。また、一般的に三項演算子またはインラインifとも呼ばれます。異なる言語では、同じ構成に対して異なる構文がありますが、すべて条件に基づいて2つのオプションのいずれかを選択します。






9
Cの三項演算子に対応する慣用的なGoとは何ですか?
C / C ++(およびそのファミリーの多くの言語)では、条件に応じて変数を宣言および初期化する一般的なイディオムは、3項条件演算子を使用します。 int index = val > 0 ? val : -val Goには条件演算子がありません。上記と同じコードを実装する最も慣用的な方法は何ですか?私は次の解決策に行きましたが、それはかなり冗長に思われます var index int if val > 0 { index = val } else { index = -val } もっと良いものはありますか?

8
if-else省略形を使用するときに2番目の式を省略する
if elseなしで速記を書くことはできますelseか? var x=1; x==2 ? dosomething() : doNothingButContinueCode(); null他の作品に力を入れていることに気づきました(しかし、それがなぜか、それが良いアイデアかどうかはわかりません)。 編集:私がこれをやろうとするのはなぜか困惑しているようです。それは純粋に好奇心の外にあるので安心してください。私はJavaScriptをいじるのが好きです。



5
?:PHPの演算子(「Elvis演算子」)
私はこれをいくつかのPHPコードで今日見ました: $items = $items ?: $this->_handle->result('next', $this->_result, $this); ?:ここで使用されている演算子についてはよく知りません。三項演算子のように見えますが、述語が真であるかどうかを評価する式は省略されています。どういう意味ですか?


10
三項演算子の速度はif-elseブロックの2倍ですか?
三項演算子は同等のものよりも高速であるか、少なくとも同等であると想定されています ifelseブロック - ブロック。 ただし、次のテストを行ったところ、そうではないことがわかりました。 Random r = new Random(); int[] array = new int[20000000]; for(int i = 0; i < array.Length; i++) { array[i] = r.Next(int.MinValue, int.MaxValue); } Array.Sort(array); long value = 0; DateTime begin = DateTime.UtcNow; foreach (int i in array) { if (i > 0) { value …

13
PowerShellの三項演算子
私が知っていることから、PowerShellにはいわゆる3項演算子の組み込み式がないようです。 たとえば、三項演算子をサポートするC言語では、次のように書くことができます。 <condition> ? <condition-is-true> : <condition-is-false>; それがPowerShellに実際に存在しない場合、同じ結果を達成するための最良の方法(つまり、読みやすく、保守しやすい)は何でしょうか。


30
三項か三項か?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は事実、参考文献、専門知識によって裏付けられると期待していますが、この質問は、議論、議論、投票、または拡張ディスカッションを求める可能性があります。この質問を改善でき、再開できると思われる場合は、ヘルプセンターにアクセスしてください。 7年前休業。 私は個人的に三項演算子の擁護者です:()?:; 私はそれがその場所にあることを理解していますが、これを使用することに完全に反対している多くのプログラマーや、あまりにも頻繁に使用しているプログラマーに遭遇しました。 どう思いますか?それを使用して見た興味深いコードは何ですか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.