2015-03-22 17 views
6

Mam zrzut kodu, gdzie umieszczam przykłady kodu rdzy na wypadek, gdybym coś zapomniał. Ciągle otrzymuję error: expected item, found 'let' dla linii 41+. Czy to możliwe, że mój kod nie jest poprawnie zbudowany? Po prostu wklejałem do kodu main.rs. snips kodu, o którym się dowiedziałem. Przypuszczam, że wyliczenia mają jakieś specjalne formatowanie lub miejsce."błąd: oczekiwany element, znaleziony" niech ""

Próbowałem zmienić nazwy, myśląc, że to była konwencja nazw; ale to nie pomogło. Ten sam błąd.

Oto zrzut (nie, że duży faktycznie jeszcze)

#[allow(dead_code)] 


fn main() 
{ 

} 





/////////////////////////////////////////tutorial functoins i made 

fn if_statements() 
{ 
    //let (x, y) = (5, 10); 
    let x = 5; 
    let y = if x == 5 { 10 } else { 15 }; 
     if y == 15 {println!("y = {}", y);} 
} 



////////////////////////////////////////// tutoiral functions 
#[allow(dead_code)] 
fn add(a: i32, b: i32) -> i32 
{ 
    a + b 

} 

#[allow(dead_code)] 
fn crash(exception: &str) -> ! 
{ 
    panic!("{}", exception); 
} 


//TUPLES// 
let y = (1, "hello"); 
let x: (i32, &str) = (1, "hello"); 

//STRUCTS// 
struct Point { 
    x: i32, 
    y: i32, 
} 

fn structs() { 
    let origin = Point { x: 0, y: 0 }; // origin: Point 

    println!("The origin is at ({}, {})", origin.x, origin.y); 
} 

//ENUMS// 
enum Character { 
    Digit(i32), 
    Other, 
} 

let ten = Character::Digit(10); 
let four = Character::Digit(4); 
+0

możliwy duplikat [? Co to znaczy „oczekiwaną pozycję, uznał niech” znaczy] (http://stackoverflow.com/questions/28993446/what -does-expected-item-found-let-mean) –

Odpowiedz

9

Twój podstawowym problemem jest to, że let mogą być wykorzystane tylko w funkcji. Tak, owijając kod w main(), a także ustalania styl:

fn if_statements() { 
    let x = 5; 

    let y = if x == 5 { 10 } else { 15 }; 

    if y == 15 { 
     println!("y = {}", y); 
    } 
} 

#[allow(dead_code)] 
fn add(a: i32, b: i32) -> i32 { a + b } 

#[allow(dead_code)] 
fn crash(exception: &str) -> ! { 
    panic!("{}", exception); 
} 

struct Point { 
    x: i32, 
    y: i32, 
} 

fn structs() { 
    let origin = Point { x: 0, y: 0 }; 

    println!("The origin is at ({}, {})", origin.x, origin.y); 
} 

enum Character { 
    Digit(i32), 
    Other, 
} 

fn main() { 
    let y = (1, "hello"); 
    let x: (i32, &str) = (1, "hello"); 

    let ten = Character::Digit(10); 
    let four = Character::Digit(4); 
} 
+0

myśl, że możesz używać zmiennych poza funkcjami podobnymi do java –

+1

czy to prawda? Nie sądzę, że możesz używać czegokolwiek poza klasą w Javie. –

+0

Miałem na boku metody/funkcje (czy są takie same?). Nie znaczyło to poza klasą. –

Powiązane problemy