@@ -316,7 +316,7 @@ Put this inside:
316
316
317
317
name = "hello_world"
318
318
version = "0.1.0"
319
- authors = [ "someone @example.com" ]
319
+ authors = [ "Your name <you @example.com> " ]
320
320
321
321
[[bin]]
322
322
@@ -1594,41 +1594,45 @@ taken to the screen. Sound good?
1594
1594
1595
1595
## Set up
1596
1596
1597
- Let's set up a new project. Go to your projects directory, and make a new
1598
- directory for the project, as well as a ` src ` directory for our code:
1597
+ Let's set up a new project. Go to your projects directory. Remember how we
1598
+ had to create our directory structure and a ` Cargo.toml ` for ` hello_world ` ? Cargo
1599
+ has a command that does that for us. Let's give it a shot:
1599
1600
1600
1601
``` {bash}
1601
1602
$ cd ~/projects
1602
- $ mkdir guessing_game
1603
+ $ cargo new guessing_game --bin
1603
1604
$ cd guessing_game
1604
- $ mkdir src
1605
1605
```
1606
1606
1607
- Great. Next, let's make a ` Cargo.toml ` file so Cargo knows how to build our
1608
- project:
1607
+ We pass the name of our project to ` cargo new ` , and then the ` --bin ` flag,
1608
+ since we're making a binary, rather than a library.
1609
+
1610
+ Check out the generated ` Cargo.toml ` :
1609
1611
1610
1612
``` {ignore}
1611
1613
[package]
1612
1614
1613
1615
name = "guessing_game"
1614
1616
version = "0.1.0"
1615
- authors = [ "someone @example.com" ]
1617
+ authors = ["Your Name <you @example.com>" ]
1616
1618
1617
1619
[[bin]]
1618
1620
1619
1621
name = "guessing_game"
1620
1622
```
1621
1623
1622
- Finally, we need our source file. Let's just make it hello world for now, so we
1623
- can check that our setup works. In ` src/guessing_game.rs ` :
1624
+ Cargo gets this information from your environment. If it's not correct, go ahead
1625
+ and fix that.
1626
+
1627
+ Finally, Cargo generated a hello, world for us. Check out ` src/main.rs ` :
1624
1628
1625
1629
``` {rust}
1626
1630
fn main() {
1627
1631
println!("Hello world!");
1628
1632
}
1629
1633
```
1630
1634
1631
- Let's make sure that worked :
1635
+ Let's try compiling what Cargo gave us :
1632
1636
1633
1637
``` {bash}
1634
1638
$ cargo build
@@ -1883,7 +1887,6 @@ fn cmp(a: int, b: int) -> Ordering {
1883
1887
If we try to compile, we'll get some errors:
1884
1888
1885
1889
``` {notrust,ignore}
1886
- $ cargo build
1887
1890
$ cargo build
1888
1891
Compiling guessing_game v0.1.0 (file:/home/you/projects/guessing_game)
1889
1892
src/guessing_game.rs:20:15: 20:20 error: mismatched types: expected `int` but found `collections::string::String` (expected int but found struct collections::string::String)
@@ -2486,27 +2489,7 @@ Enough talk, let's build something! Let's make a new project called `modules`.
2486
2489
2487
2490
``` {bash,ignore}
2488
2491
$ cd ~/projects
2489
- $ mkdir modules
2490
- $ cd modules
2491
- $ mkdir src
2492
- ```
2493
-
2494
- We need to make our two 'hello world' files. In ` src/main.rs ` :
2495
-
2496
- ``` {rust}
2497
- fn main() {
2498
- println!("Hello, world!");
2499
- }
2500
- ```
2501
-
2502
- And in ` Cargo.toml ` :
2503
-
2504
- ``` {notrust,ignore}
2505
- [package]
2506
-
2507
- name = "modules"
2508
- version = "0.1.0"
2509
- authors = [ "someone@example.com" ]
2492
+ $ cargo new modules --bin
2510
2493
```
2511
2494
2512
2495
Let's double check our work by compiling:
@@ -2924,34 +2907,16 @@ now: make a new project:
2924
2907
2925
2908
``` {bash,ignore}
2926
2909
$ cd ~/projects
2927
- $ mkdir testing
2910
+ $ cargo new testing --bin
2928
2911
$ cd testing
2929
- $ mkdir test
2930
- ```
2931
-
2932
- In ` src/main.rs ` :
2933
-
2934
- ``` {rust}
2935
- fn main() {
2936
- println!("Hello, world!");
2937
- }
2938
- ```
2939
-
2940
- And in ` Cargo.toml ` :
2941
-
2942
- ``` {notrust,ignore}
2943
- [package]
2944
-
2945
- name = "testing"
2946
- version = "0.1.0"
2947
- authors = [ "someone@example.com" ]
2948
2912
```
2949
2913
2950
2914
And try it out:
2951
2915
2952
2916
``` {notrust,ignore}
2953
2917
$ cargo run
2954
2918
Compiling testing v0.1.0 (file:/home/you/projects/testing)
2919
+ Running `target/testing`
2955
2920
Hello, world!
2956
2921
$
2957
2922
```
0 commit comments