forked from bnjbvr/rouille
-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.rs
81 lines (67 loc) · 1.98 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
rovell::rovell! {
utilitza std::collections::Diccionari;
tret Hola {
funció escriu(&jo, clau: Cadena, valor: Cadena);
funció obtén(&jo, clau: Cadena) -> Resultat<Opció<&Cadena>, Cadena>;
}
estàtic mutable DICCIONARI: Opció<Diccionari<Cadena, Cadena>> = Res;
estructura Concret;
realitza Hola per Concret {
funció escriu(&jo, clau: Cadena, valor: Cadena) {
deixa dicc = insegur {
DICCIONARI.agafa_o_introdueix_amb(PerDefecte::perdefecte)
};
dicc.introdueix(clau, valor);
}
funció obtén(&jo, clau: Cadena) -> Resultat<Opció<&Cadena>, Cadena> {
si deixa Algú(dicc) = insegur { DICCIONARI.com_referència() } {
Bé(dicc.agafa(&clau))
} sinó {
Futut("buscar al diccionari".cap_a_dins())
}
}
}
públic(caixa) funció a_lo_millor(i: u32) -> Opció<Resultat<u32, Cadena>> {
si i % 2 == 1 {
si i == 42 {
Algú(Futut(Cadena::desde("merda")))
} sinó {
Algú(Bé(33))
}
} sinó {
Res
}
}
asíncron funció example() {
}
asíncron funció example2() {
example().espera;
}
funció principal() {
deixa mutable x = 31;
iguala x {
42 => {
escriulínia!("mare de déu")
}
_ => escriulínia!("Com estàs!")
}
per i en 0..10 {
deixa val = bucle {
interrupció i;
};
mentre difús x < val {
x += 1;
}
x = si deixa Algú(resultat) = a_lo_millor(i) {
resultat.desempaquetar()
} sinó {
12
};
}
}
#[permetre(codificació_inaccessible)]
funció secundari() {
collons!("oh no!");
merda!("la mare que em va parir");
}
}