LINUX.ORG.RU

История изменений

Исправление ozkriff, (текущая версия) :

Вот свежая тема с грязными фантазиями обитателей /r/rust насчет синтаксиса.

Там есть ссылка на работающий препроцессор - https://github.com/mystor/slag )

// This code is editable and runnable!
fn main() =>
    // A simple integer calculator:
    // `+` or `-` means add or subtract by 1
    // `*` or `/` means multiply or divide by 2

    let program = "+ + * - /"
    let mut accumulator = 0

    for token in program.chars() =>
        match token =>
            '+' => accumulator += 1
            '-' => accumulator -= 1
            '*' => accumulator *= 2
            '/' => accumulator /= 2
            _ => ()

    println!("The program \"{}\" calculates the value {}",
              program, accumulator)

Исходная версия ozkriff, :

Вот свежая тема с грязными фантазиями обитателей /r/rust насчет синтаксиса.

Там есть ссылка на работающий препроцессор - https://github.com/mystor/slag )

// This code is editable and runnable!
fn main() =>
    // A simple integer calculator:
    // `+` or `-` means add or subtract by 1
    // `*` or `/` means multiply or divide by 2

    let program = "+ + * - /"
    let mut accumulator = 0

    for token in program.chars() =>
        match token =>
            '+' => accumulator += 1
            '-' => accumulator -= 1
            '*' => accumulator *= 2
            '/' => accumulator /= 2
            _ => ()

    println!("The program \"{}\" calculates the value {}",
              program, accumulator)