Variables intermédiaires
Dans les recettes un peu denses, on produit souvent des sous-composants (une pâte, une sauce, un glaçage) destinés à être incorporés plus tard. Gram permet de formaliser ces sous-composants sous forme de Variables intermédiaires.
Une fois déclarée, une &variable intermédiaire se comporte exactement comme un @ingrédient : vous pouvez y faire référence, la mesurer ou l’utiliser comme base de calcul pour des pourcentages.
Déclarer une variable
Section intitulée « Déclarer une variable »Pour déclarer une &variable, utilisez la syntaxe ->&. Deux emplacements sont valides : à la toute fin d’une Étape, ou à la fin d’un Titre de Section.
Déclaration au niveau de l’étape
Section intitulée « Déclaration au niveau de l’étape »Lorsqu’elle clôture une étape (un paragraphe), la &variable capture purement et simplement le résultat de cette étape précise.
Déclaration au niveau de la section
Section intitulée « Déclaration au niveau de la section »Lorsqu’elle est placée à la fin d’un titre de ## Section, la &variable capture le produit de l’ensemble des étapes de cette section. C’est la mécanique idéale pour les sous-composants nécessitant une préparation longue.
Utiliser une variable
Section intitulée « Utiliser une variable »Pour utiliser une &variable préalablement déclarée, préfixez simplement son nom avec &.
Vous pouvez également lui attribuer une quantité pour l’affichage dans la recette rendue :
Mécanismes avancés
Section intitulée « Mécanismes avancés »Portée globale (Global Scoping)
Section intitulée « Portée globale (Global Scoping) »Lorsqu’une &variable est déclarée au niveau d’une section, elle intègre la portée globale (global scope). Cela signifie que vous pouvez déclarer une &variable dans la toute première section de votre recette et la référencer sans risque dans la dernière.
Quantités relatives
Section intitulée « Quantités relatives »Comme détaillé dans la documentation sur les Quantités Relatives, vous pouvez calculer la masse d’un ingrédient en fonction de la masse totale d’une variable intermédiaire.
Gestion des erreurs
Section intitulée « Gestion des erreurs »Le compilateur vous aide à maintenir un code propre et sans conflits en émettant des avertissements spécifiques :
- Conflit de portée (Scope Conflict) : Si vous déclarez accidentellement un même nom de
&variabledans deux blocs## Sectiondifférents, le compilateur remontera un warningSCOPE_CONFLICT. - Variable inutilisée (Unused Variable) : Toute
&variabledéclarée via->&doit être consommée plus tard dans la recette. Si vous déclarez une variable orpheline, le compilateur vous le signalera pour vous aider à garder un code propre.