forked from bnjbvr/rouille
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathmain.rs
85 lines (70 loc) · 2.22 KB
/
main.rs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
hrđa::hrđa! {
vanjska kištra hrđa;
koristi std::collections::KartaSažetaka kao Rječnik;
svojstvo KljučVrijednost {
fn napiši(&suština, ključ: ZnakovniNiz, valeur: ZnakovniNiz);
fn dohvati(&suština, ključ: ZnakovniNiz) -> Rezultat<Neobavezno<&ZnakovniNiz>, ZnakovniNiz>;
}
nepokretno izmjenjiv RJECNIK: Neobavezno<Rječnik<ZnakovniNiz, ZnakovniNiz>> = Nijedan;
građa GPKrk;
ispuna KljučVrijednost za GPKrk {
fn napiši(&suština, ključ: ZnakovniNiz, valeur: ZnakovniNiz) {
dopusti rjecnik = opasno {
RJECNIK.dohvati_ili_ubaci_uz(Podrazumijevano::podrazumijevano)
};
rjecnik.ubaci(ključ, valeur);
}
fn dohvati(&suština, ključ: ZnakovniNiz) -> Rezultat<Neobavezno<&ZnakovniNiz>, ZnakovniNiz> {
ako dopusti Neki(rjecnik) = opasno { RJECNIK.ko_upuć() } {
URedu(rjecnik.dohvati(&ključ))
} inače {
Kiks("dohvati rjecnik".pretvori())
}
}
}
javni(kištra) fn može_biti(i: u32) -> Neobavezno<Rezultat<u32, ZnakovniNiz>> {
ako i % 2 == 1 {
ako i == 42 {
Neki(Kiks(ZnakovniNiz::iz("kaos")))
} inače {
Neki(URedu(33))
}
} inače {
Nijedan
}
}
asinhron fn primjer() {
}
asinhron fn primjer2() {
primjer().isčekuj;
}
fn glavni() {
dopusti izmjenjiv x = 31;
spari x {
42 => {
ispišred!("špek")
}
_ => ispišred!("divno")
}
za i u 0..10 {
dopusti val = petlja {
prekini i;
};
dok kaj x < val {
x += 1;
}
x = ako dopusti Neki(resultat) = može_biti(i) {
resultat.odmotaj()
} inače {
12
};
}
//sekundarni();
}
#[dopusti(izvor_nedostupan)]
fn sekundarni() {
panika!("o ne"); // for the usual Croatian experience
razlaz!("gasi to"); // a student party broken up
racija!("nemoj, Milane"); // time to give a cut of the rakija
}
}