質問
誰もが標準的な三項構文を覚える良いトリックを持っていますか?
具体的には、「?」または「:」が最初に来ます。私は長年にわたって一貫してこれを逆に受けてきました。
解決
チェックしている条件は質問のようなものなので、疑問符が最初に来ます。
x > 0 ? 1 : 0
この文を3つの英語の文と考えてください。" xは0より大きいですか?その後、1。その他、0。"ステートメント内の句ごとに1つの文があります。
述語:
x > 0 ? /* Is x greater than 0? */
" true"ブランチ:
1 /* Then 1. */
" false"ブランチ:
: 0 /* Else, 0. */
他のヒント
どの記号が最初に来るかを覚えている限り、最初の部分は質問であるという事実を思い浮かべます。「それは本当ですか?」
この方法で構文を考える
Question ? Yes : No
pythonで通常の英語の文として読みました:
a equals b if condition is true else c
このように考えてください。三項ステートメントは3つの部分で構成されています。答えが「いいえ」の場合のコード。 "?"英語の文章のように質問の後に来ます。
"?"は疑問符ですので、「if」を意味します。
コロンとは、「今すぐ来ます」、「それから」という意味です。
三項演算子の良いところは、特に構文を覚えるのに問題がある場合は、使用を強制されないことです。ほとんどの場合、より読みやすいifステートメントを使用してください。
そしていいえ-三項はif文よりも優れた性能を持ちません。
次のようになります:
myVariable = this.testMethod() ? 'value for true case' : 'value for false case'
誤解してもユニットテストに合格する場合は、それが問題にならないか、テストがコードを通るパスを十分にカバーしていないかのいずれかです。入力してからテストで合格/不合格を取得するまでのギャップが長すぎる場合は、別の問題です。優れた高速テストが存在する場合、重要な構文上の問題はほとんどありません。