]]> ]]>

Rust

Реализация языка программирования Rust

Авторский и единственный компилятор Rust. Разрабатывался с 2006 года на OCaml. В 2010 году был создан компилятор, написанный на самом Rust.

Распространяется под лицензией MIT. В настоящее время поддерживает ОС Linux и Windows.

Примеры:

Hello, World!:

Пример для версий Rust 0.1
use std;
import std::io;

fn main() {
    io::println("Hello, World!");
}

Факториал:

Пример для версий Rust 0.1

В этом примере используется рекурсивное вычисление факториала. Из-за переполнения типа uint значения 13! и больше выводятся с ошибкой.

use std;
import std::io;

fn factorial(x: int) -> uint {
  if (x <= 1) {
    ret 1u;
  } else {
    ret (x as uint) * factorial(x - 1);
  }
}

fn main() {
  let i = 0;
  while i <= 16 {
    io::println(#fmt("%d! = %u", i, factorial(i)));
    i = i + 1;
  }
}

Числа Фибоначчи:

Пример для версий Rust 0.1

Используется рекурсивное вычисление чисел Фибоначчи.

use std;
import std::io;

fn fibonacci(x: int) -> int {
  if (x <= 2) {
    ret 1;
  } else {
    ret fibonacci(x - 1) + fibonacci(x - 2);
  }
}

fn main() {
  let i = 1;
  while i <= 16 {
    io::print(#fmt("%d, ", fibonacci(i)));
    i = i + 1;
  }
  io::println("...");
}

Hello, World!:

Пример для версий Rust 1.0.0-alpha.2
fn main() {
    println!("Hello, World!");
}

Факториал:

Пример для версий Rust 1.0.0-alpha.2
fn factorial(x: i64) -> i64 {
  if x <= 1 {
    1
  } else {
    x * factorial(x - 1)
  }
}

fn main() {
  for i in 0..17 {
    println!("{}! = {}", i, factorial(i));
  }
}

Числа Фибоначчи:

Пример для версий Rust 1.0.0-alpha.2
fn fibonacci(x: i64) -> i64 {
  if x <= 2 {
    1
  } else {
    fibonacci(x - 1) + fibonacci(x - 2)
  }
}

fn main() {
  for i in 1..17 {
    print!("{}, ", fibonacci(i));
  }
  println!("...");
}

Комментарии

]]>

blog comments powered by Disqus

]]>

Работа программистам