2015-03-22 6 views
6

Ich habe einen Code-Dump, wo ich Beispiele für den Rost-Code für den Fall, dass ich etwas vergessen habe. Ich bekomme immer error: expected item, found 'let' für die Leitung 41+. könnte es sein, dass mein Code nicht richtig strukturiert ist? Ich habe einfach Code-Schnipsel, die ich gelernt habe, in die main.rs eingefügt. Ich nehme an, dass Enums irgendeine spezielle Formatierung oder einen bestimmten Ort haben."Fehler: erwarteter Artikel, gefunden 'lass'"

Ich versuchte, die Namen zu ändern, dachte, es war Namenskonvention; aber das hat nicht geholfen. Derselbe Fehler.

Hier ist die dump (nicht so groß tatsächlich noch)

#[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

möglich Duplikat [? Was bedeutet "erwartete Artikel, gefunden lassen" bedeuten] (http://stackoverflow.com/questions/28993446/what -does-expected-item-found-let-mean) –

Antwort

9

Ihr grundlegendes Problem ist, dass let kann nur in einer Funktion verwendet werden. Also, den Code in main() Wickeln und Fixieren auch den Stil:

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

dachte, Sie könnten Variablen außerhalb von Funktionen verwenden Art wie Java –

+1

ist das wahr? Ich glaube nicht, dass Sie irgendetwas außerhalb einer Klasse in Java verwenden können. –

+0

Ich meinte Seite der Methoden/Funktionen (sind sie gleich?). Bedeutete nicht außerhalb der Klasse. –

Verwandte Themen