Программирование/Примеры программ на языке программирования Rust: различия между версиями
Содержимое удалено Содержимое добавлено
кат |
оформление |
||
Строка 8:
// в Rust if - это выражение, возвращающее значение, а не просто оператор.
fn fac_recur(n: i32) -> i32 {
if 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);
}));
}
|