Программирование/Примеры программ на языке программирования Rust: различия между версиями

Содержимое удалено Содержимое добавлено
кат
оформление
Строка 8:
// в Rust if - это выражение, возвращающее значение, а не просто оператор.
fn fac_recur(n: i32) -> i32 {
if n <= 1 { 1 }
else { n * fac_recur(n-1) }
} else {
n * fac_recur(n-1)
}
}
 
fn fac_iter(n: i32) -> i32 {
 
// Переменные объявляются с ключевым словом "let", по умолчанию
// не изменяемые. Если нужна их изменяемость, добавляется ключевое
Строка 27 ⟶ 29 :
 
fn fac_lambda(n: i32) -> i32 {
 
// Итераторы включают множество методов трансформации.
// "|accum, x|" - это определение анонимной функции.
Строка 50 ⟶ 51 :
// Чтобы убедиться в параллельности, запустите программу несколько раз,
// и обратите внимание на непостоянный порядок вывода результатов.
fn main() {
 
// Эта строка неизменяемая, поэтому может безопасно использоваться
// из нескольких задач.
Строка 61:
for num in 0..10 {
threads.push(thread::spawn(move || {
 
// println! - это статический макрос, выполняющий форматирование
// строки и её вывод. Макросы структурные (как в Scheme), а не
// текстовые (как в Си).
println!("{} из потока номер {}", greeting, num);
 
}));
}