Retourner au contenu associé (journal : [Letlang] Écrire un compilateur en Rust (partie 3))
Posté par David Delassus (site web personnel) le 25 avril 2022 à 14:43. En réponse au journal [Letlang] Écrire un compilateur en Rust (partie 3). Évalué à 2.
Tu aurais un exemple à donner ?
Parce qu'il restera possible de définir un type comme ceci :
class config(json_data: { debug: bool, loglevel: "debug" | "info" | "warn" | "error" | "critical", logformat: string, })
Et ensuite de l'utiliser dans une fonction :
# lèvera une exception au runtime si la conf est pas bonne let cfg: config = json.loadfile("/path/to/config.json")
Ce qu'il faut bien comprendre, c'est la syntaxe :
Keyword("class") Identifier LeftParen Identifier : TypeDef RightParen [LeftBracket TypeConstraintBlock RightBracket]
En gros, tout ce qui est après le : dans les ( ) c'est une définition de type. En d'autres mots, toutes les expressions suivantes sont des types :
:
( )
int
int | bool & !42
(:ok, int)
{ debug: bool }
https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg
AltStyle によって変換されたページ (->オリジナル) / アドレス: モード: デフォルト 音声ブラウザ ルビ付き 配色反転 文字拡大 モバイル
[^] # Re: type
Posté par David Delassus (site web personnel) . En réponse au journal [Letlang] Écrire un compilateur en Rust (partie 3). Évalué à 2.
Tu aurais un exemple à donner ?
Parce qu'il restera possible de définir un type comme ceci :
Et ensuite de l'utiliser dans une fonction :
Ce qu'il faut bien comprendre, c'est la syntaxe :
En gros, tout ce qui est après le
:dans les( )c'est une définition de type. En d'autres mots, toutes les expressions suivantes sont des types :intint | bool & !42(:ok, int){ debug: bool }https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg