Skip to content

Latest commit

 

History

History
96 lines (70 loc) · 3.07 KB

ch-04-boolean.md

File metadata and controls

96 lines (70 loc) · 3.07 KB

Логический тип данных

Логический тип данных в Rust представлен двумя константами true - истина, false - ложь.

Операторы

В языке Rust используются следующие операторы сравнения:

  • == равно
  • != не равно
  • < меньше
  • <= меньше или равно
  • > больше
  • >= больше или равно

Благодаря этим операторам можно сравнить два значения одно типа, например, целочисленные, дробные, логически, символьные и строковые значения.

fn main() {
    println!("{}", true < false);
    println!("{}", true > false);
    
    println!("{}", 1 < 2);
    println!("{}", 1 == 1);
    println!("{}", 2 >= 1);
    
    println!("{}", 0.1 <        0.2);
    println!("{}", 0.11 <       0.12);
    println!("{}", 0.111 <      0.112);
    println!("{}", 0.1111 <     0.1112);
    println!("{}", 0.11111 <    0.11112);
    println!("{}", 0.111111 <   0.111112);
    println!("{}", 0.1111111 <  0.1111122);
    println!("{}", 0.11111111 < 0.11111122);
    
    println!("{}", 'a' < 'A');
    println!("{}", '1' == '1');
    
    println!("{}", "a" > "A");
    println!("{}", "aa" > "aA");
    
}

Playground

Логические операторы

Логические значения могут быть связаны с помощью операторов логических связей. Это && И, || ИЛИ, !Не.

fn main() {
    let false_variable = false;
    let true_variable = true;

    println!("{} {}", !true_variable, !false_variable);
    println!(
        "{} {} {} {}",
        false_variable || false_variable,
        false_variable || true_variable,
        true_variable || false_variable,
        true_variable || true_variable
    );
    println!(
        "{} {} {} {}",
        false_variable && false_variable,
        false_variable && true_variable,
        true_variable && false_variable,
        true_variable && true_variable
    );
}

Playground

Порядок операторов логических связей: !, &&, ||. Изменить данный порядок можно с помощью круглых скобок.

fn main() {
    let false_variable = false;
    let true_variable = true;

    println!("{}", true_variable || false_variable && !true_variable);
    println!("{}", (true_variable || false_variable) && !true_variable);
}

Playground

Домашнее задание

Напишите цепочки логических вычислений с данными разных типов.