aboutsummaryrefslogtreecommitdiff
path: root/dotfiles
diff options
context:
space:
mode:
authorneodarz <neodarz@neodarz.net>2019-09-06 07:30:36 +0200
committerneodarz <neodarz@neodarz.net>2019-09-06 07:30:36 +0200
commitacd9ab2d1515e31210615f4bd47d4e05f5c87f59 (patch)
tree6fcfbda02a084ef129c41775b4f8e2d39fa22a77 /dotfiles
parent956712a2207d4e1237b02cf739a7be006c712dcc (diff)
downloaddotfiles-acd9ab2d1515e31210615f4bd47d4e05f5c87f59.tar.xz
dotfiles-acd9ab2d1515e31210615f4bd47d4e05f5c87f59.zip
More cheat
Diffstat (limited to 'dotfiles')
-rw-r--r--dotfiles/cheat/rust66
1 files changed, 66 insertions, 0 deletions
diff --git a/dotfiles/cheat/rust b/dotfiles/cheat/rust
index 41406ca..d132c30 100644
--- a/dotfiles/cheat/rust
+++ b/dotfiles/cheat/rust
@@ -36,6 +36,72 @@ Un type "compound" regroupe différent type de valeurs en une seul.
- Tuple (multi type) ex: (1, 'z', 0.9)
- Array (same type) ex: [1, 2, 3]
+# for loop
+for el in array.iter() {
+ ...
+}
+
+# for loop in range
+for el in (1..4) {
+ ...
+}
+
+# for loop in range reversed
+for el in (1..4).rev() {
+ ...
+}
+
+# Ownership
+
+Chaque valeur a une variable nommé "propriétaire" ("owner")
+Il n'y peut y avoir qu'un seul proprioétaire à la fois
+Quand le proprio est hors sujet, hors champs ("out of scope") la valeur est
+supprimé
+
+# String
+
+String est mutable à l'inverse d'un string littéral.
+Pour créer un String depuis un string littéral:
+let s = String::from("hello");
+
+Pour rajouter tu texte à un String:
+s.push_str(", world");
+
+# Move
+
+Pour déplacer le pointeur d'un string d'une variable à une autre:
+let s1 = String::form("hello")
+let s1 = s2
+
+# Clone (deep copy)
+
+let s1 = String::from("hello");
+let s2 = s1.clone();
+
+# Copy (Uniquement pour les données dite de type pile)
+
+let x = 5;
+let y = x;
+
+# Types qui peuvent utiliser Copy
+- Integer
+- Boolean
+- Float
+- Characteres
+- Tuples (Only if all type can use Copy)
+
+Lorsque que l'on passe une varaible à un fonction sans utiliser de références,
+celle-ci n'est plus utilisable par la suite si elle n'est pas retourné par
+ladite fonctions.
+
+# References
+Permet de référer à une valeur sans en devenir propriétaire.
+
+Pour créer une référence il faut mettre le signe `&` avant la variable avant
+de la passer à une fonction (par exemple):
+
+let len = calculate_length(&s1);
+
# outils
voir pour `rustup` pour gérer cargo