標準の三項構文を覚えておくための良いトリックを持っている人はいますか?
具体的には「?」または「:」が最初に来ます。私はこれを何年にもわたって一貫して逆行させてきました。
標準の三項構文を覚えておくための良いトリックを持っている人はいますか?
具体的には「?」または「:」が最初に来ます。私はこれを何年にもわたって一貫して逆行させてきました。
チェックしている条件は質問のようなものなので、疑問符が最初に来ます。
x > 0 ? 1 : 0
この文は、「X は 0 よりも大きいですか? なら 1 です。そうでなければ、0 です」という 3 つの英語の文と考えてください。ステートメントの各句に対して 1 つの文があります。
述語:
x > 0 ? /* Is x greater than 0? */
「真の」ブランチ:
1 /* Then 1. */
「false」ブランチ:
: 0 /* Else, 0. */
どの記号が最初に来るかを覚えている限り、最初の部分は「本当かどうか」という質問なので、疑問符が最初に来るということだけを考えています。
私はこのように構文を考えます
Question ? Yes : No
こんなふうになります:
myVariable = this.testMethod() ? 'value for true case' : 'value for false case'
Python では、通常の英文として読みます。
a equals b if condition is true else c
次のように考えてみてください。三項ステートメントは、質問、質問の答えが「はい」の場合に実行するコード、答えが「いいえ」の場合のコードの 3 つの部分で構成されます。「?」は英文と同じように質問の後に来ます。
「?」はクエスチョンマークなので「もし」という意味です。
コロンは「今来る」、「それからする」という意味です。
三項演算子の良いところは、特に構文を覚えるのに問題がある場合に、使用を強制されないことです。ほとんどの場合、より読みやすいifステートメントを使用してください。
いいえ、三項式はifステートメントよりも優れたパフォーマンスを発揮しません。
間違っても単体テストに合格する場合は、問題ではないか、テストがコードのパスを十分にカバーしていないかのどちらかです。入力してからテストの合格/不合格を得るまでのギャップが長すぎる場合、それは別の問題です。優れた高速なテストが存在する場合、小さな構文の問題はほとんど問題になりません。