Code-Frameworks
Rezept: eine Hilfsfunktion
Teile eine kleine Berechnung innerhalb einer Regeldatei.
Ziel
Nutze eine Funktion mit Obergrenze, statt math.min zu wiederholen.
Die Änderung
rules/heal.ts
function capped(value: number, limit: number): number {
return math.min(value, limit);
}
export function heal(self: ElementRef, amount: number): void {
const hp: number = element.var(self, "hp") as number;
const max_hp: number = element.var(self, "max_hp") as number;
if (hp < max_hp) {
ledger.set(self, "hp", capped(hp + amount, max_hp));
}
}- Zeilen 1-3 Eine Hilfsfunktion hat kein export.
- Zeile 9 Rufe sie in derselben Datei beim Namen auf.
Eine Datei, die mehr als eine Funktion exportiert, wird abgelehnt, es sei denn, jeder Export ist für diese Datei als Aktions-ID oder Ledger-Funktions-ID deklariert.
functions but only the action heal uses itEine Hilfsfunktion darf nur berechnen. Sie darf ledger.set oder ledger.add nicht aufrufen, und eine Hilfsfunktion, die schreibt, wird abgelehnt:
effectful action helpers are not supported until call-target provenance is enforcedGib den Wert aus der Hilfsfunktion zurück und schreibe ihn in der Aktion. Die Seite Regeln schreiben zeigt zwei Aktionen, die eine Hilfsfunktion teilen.
Teste es
Eine Hilfsfunktion braucht kein eigenes Szenario. Die Szenarien der Aktion, die sie nutzt, beweisen sie.

