Frameworki kodowe
Przepis: funkcja pomocnicza
Współdziel małe obliczenie w jednym pliku reguł.
Cel
Użyj jednej funkcji z limitem zamiast powtarzać math.min.
Zmiana
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));
}
}- Wiersze 1-3 Funkcja pomocnicza nie ma export.
- Wiersz 9 Wywołaj ją po nazwie z tego samego pliku.
Plik eksportujący więcej niż jedną funkcję jest odrzucany, chyba że każdy eksport jest zadeklarowany dla tego pliku jako identyfikator akcji lub funkcji ledgera.
functions but only the action heal uses itFunkcja pomocnicza może tylko obliczać. Nie może wywoływać ledger.set ani ledger.add, a funkcja pomocnicza, która zapisuje, jest odrzucana:
effectful action helpers are not supported until call-target provenance is enforcedZwróć wartość z funkcji pomocniczej i zapisz ją w akcji. Strona Pisanie reguł pokazuje dwie akcje współdzielące jedną funkcję pomocniczą.
Przetestuj to
Funkcja pomocnicza nie dodaje scenariusza. Dowodzą jej scenariusze akcji, która jej używa.

