Учебники

Ржавчина — петля

Могут быть случаи, когда блок кода должен выполняться повторно. В общем, инструкции программирования выполняются последовательно: первый оператор в функции выполняется первым, затем второй и так далее.

Языки программирования предоставляют различные управляющие структуры, которые допускают более сложные пути выполнения.

Оператор цикла позволяет нам выполнять оператор или группу операторов несколько раз. Ниже приведена общая форма оператора цикла в большинстве языков программирования.

оператор цикла

Rust предоставляет различные типы циклов для обработки требований циклов —

  • в то время как
  • петля
  • за

Определенная петля

Цикл, число итераций которого является определенным / фиксированным, называется определенным циклом. Цикл for является реализацией определенного цикла.

Для петли

Цикл for выполняет блок кода указанное количество раз. Его можно использовать для перебора фиксированного набора значений, например массива. Синтаксис цикла for приведен ниже.

Синтаксис

for temp_variable in lower_bound..upper_bound {
   //statements
}

Пример цикла for показан ниже

fn main(){
   for x in 1..11{ // 11 is not inclusive
      if x==5 {
         continue;
      }
      println!("x is {}",x);
   }
}

ПРИМЕЧАНИЕ : переменная x доступна только в блоке for.

Выход

x is 1
x is 2
x is 3
x is 4
x is 6
x is 7
x is 8
x is 9
x is 10

Неопределенный цикл

Неопределенный цикл используется, когда число итераций в цикле не определено или неизвестно.

Неопределенные циклы могут быть реализованы с помощью —

Sr.No Имя и описание
1

В то время как

Цикл while выполняет инструкции каждый раз, когда указанное условие оценивается как истинное

2

петля

Цикл — это неопределенный цикл while (true)

В то время как

Цикл while выполняет инструкции каждый раз, когда указанное условие оценивается как истинное

петля

Цикл — это неопределенный цикл while (true)

Иллюстрация — на время

fn main(){
   let mut x = 0;
   while x < 10{
      x+=1;
      println!("inside loop x value is {}",x);
   }
   println!("outside loop x value is {}",x);
}

Вывод как показано ниже —

inside loop x value is 1
inside loop x value is 2
inside loop x value is 3
inside loop x value is 4
inside loop x value is 5
inside loop x value is 6
inside loop x value is 7
inside loop x value is 8
inside loop x value is 9
inside loop x value is 10
outside loop x value is 10

Иллюстрация-петля

fn main(){
   //while true

   let mut x = 0;
   loop {
      x+=1;
      println!("x={}",x);

      if x==15 {
         break;
      }
   }
}

Оператор break используется для извлечения элемента управления из конструкции. Использование прерывания в цикле приводит к тому, что программа выходит из цикла.

Выход

x=1
x=2
x=3
x=4
x=5
x=6
x=7
x=8
x=9
x=10
x=11
x=12
x=13
x=14
x=15

Продолжить заявление

Оператор continue пропускает последующие операторы в текущей итерации и возвращает элемент управления в начало цикла. В отличие от оператора break, continue не завершает цикл. Он завершает текущую итерацию и начинает последующую итерацию.

Пример оператора continue приведен ниже.

fn main() {

   let mut count = 0;

   for num in 0..21 {
      if num % 2==0 {
         continue;
      }
      count+=1;
   }
   println! (" The count of odd values between 0 and 20 is: {} ",count);
   //outputs 10
}

В приведенном выше примере отображается число четных значений от 0 до 20. Цикл выходит из текущей итерации, если число четное. Это достигается с помощью оператора continue.

Количество нечетных значений от 0 до 20 равно 10