論理演算子 パート1
CoddyのRustジャーニー「Fundamentals」セクションの一部 — レッスン 20/75。
論理演算子は、true または false を返す比較の組み合わせをチェックするために使用されます。
例えば、次の文には2つの比較が含まれています:
5は3より大きく、かつ6より小さいですか?
| 演算子 | 意味 | 例 |
|---|---|---|
&& | かつ (And) - すべてのオペランドが true の場合に true | a && b |
|| | または (Or) - いずれかのオペランドが true の場合に true | a || b |
! | 否定 (Not) - オペランドが false の場合に true | !a |
いくつかの例を見てみましょう。
5は3より大きく、かつ1は1と等しいです。
let b1: bool = (5 > 3) && (1 == 1); // trueを保持します説明: すべてのオペランドがtrueであるため、b1はtrueを保持します(and演算は、両方のオペランドがtrueの場合にtrueとなります)。
5は4と等しくない、または5は2と等しい、
let b2: bool = !(5 == 4) || (5 == 2); // trueになります説明: 最初のオペランド(5 != 4)はtrueなので、b2もtrueになります(or演算は、いずれかのオペランドがtrueであればtrueになります)
1は1と等しくない、またはfalse、
let b3: bool = !(1 == 1) || false; // falseを保持します解説: すべてのオペランドがfalseであるため、b3はfalseを保持します(or演算)。
not (3は4より大きい)、
let b4: bool = !(3 > 4); // trueになります説明: オペランドは false なので、b4 は true を保持します(not 演算)。
not (5は10より大きい、または5は1より大きい)、
let b5: bool = !(5 > 10 || 5 > 1); // falseを保持します説明: 5 > 10 || 5 > 1 は true (オペランドの1つが true であるため) です。したがって、全体として b5 は false (not 演算) になります。
チャレンジ
初心者コードが提供されています。変数 b1 と b2 のクエスチョンマークをブール値に置き換えて、b3 が true を保持するようにしてください。
正解は複数あります。
チートシート
論理演算子は、true または false を返す比較の組み合わせをチェックするために使用されます。
| 演算子 | 意味 | 例 |
|---|---|---|
&& |
And - すべてのオペランドが true の場合に true |
a && b |
|| |
Or - いずれかのオペランドが true の場合に true |
a || b |
! |
Not - オペランドが false の場合に true |
!a |
例:
let b1: bool = (5 > 3) && (1 == 1); // true (両方のオペランドが true)
let b2: bool = !(5 == 4) || (5 == 2); // true (最初のオペランドが true)
let b3: bool = !(1 == 1) || false; // false (両方のオペランドが false)
let b4: bool = !(3 > 4); // true (オペランドが false なので、not 演算は true を返す)
let b5: bool = !(5 > 10 || 5 > 1); // false (内部の式が true なので、not 演算は false を返す)自分で試してみよう
fn main() {
// 以下にコードを入力してください
let b1: bool = ?;
let b2: bool = ?;
let b3: bool = b1 || b2;
// 以下の行は変更しないでください
println!("b3 = {}", b3);
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。