rust/doc/tutorial/setup.md
Marijn Haverbeke fedb775fbb Add hacks to extract and compile tutorial code
Not included in the build by default, since it's fragile and kludgy. Do
something like this to run it:

    cd doc/tutorial
    RUSTC=../../build/stage2/bin/rustc bash test.sh

Closes #1143
2011-11-22 16:12:23 +01:00

55 lines
1.8 KiB
Markdown

# Getting started
## Installation
FIXME Fill this in when the installation package is finished.
## Compiling your first program
Rust program files are, by convention, given the extension `.rs`. Say
we have a file `hello.rs` containing this program:
use std;
fn main(args: [str]) {
std::io::println("hello world from " + args[0] + "!");
}
If the Rust compiler was installed successfully, running `rustc
hello.rs` will produce a binary called `hello` (or `hello.exe`).
If you modify the program to make it invalid (for example, remove the
`use std` line), and then compile it, you'll see an error message like
this:
## notrust
hello.rs:2:4: 2:20 error: unresolved modulename: std
hello.rs:2 std::io::println("hello world!");
^~~~~~~~~~~~~~~~
The Rust compiler tries to provide useful information when it runs
into an error.
## Anatomy of a Rust program
In its simplest form, a Rust program is simply a `.rs` file with some
types and functions defined in it. If it has a `main` function, it can
be compiled to an executable. Rust does not allow code that's not a
declaration to appear at the top level of the file—all statements must
live inside a function.
Rust programs can also be compiled as libraries, and included in other
programs. The `use std` directive that appears at the top of a lot of
examples imports the standard library. This is described in more
detail [later on](mod.html).
## Editing Rust code
There are Vim highlighting and indentation scrips in the Rust source
distribution under `src/etc/vim/`. An Emacs mode can be found at
[https://github.com/marijnh/rust-mode][rust-mode].
[rust-mode]: https://github.com/marijnh/rust-mode
Other editors are not provided for yet. If you end up writing a Rust
mode for your favorite editor, let us know so that we can link to it.