Chiamala come
Functions.forecast.readField(platform, object, key)
Registra la dipendenza Functions.forecast.readField, poi chiamala con quel nome. Una chiamata con spazio dei nomi non passa self: usa una chiamata con i due punti o passa tu l'oggetto.
Cosa fa
Reads object[key] for Functions.forecast.calculate without letting a restricted value, a non-table object or an index error escape.
Argomenti
| Nome | Tipo | Cosa fa |
|---|---|---|
platform | RMPlatform | Platform whose CanReadValue decides readability. |
object | any | Table to read, such as the history record or one of its rows. |
key | any | Key to read, such as "damage" or "time". |
Valori restituiti
| 1 | any | The field's value (possibly nil), or nil on failure. |
|---|---|---|
| 2 | string | nil | Reason on failure: restricted-value, invalid-forecast-history or forecast-history-error. |
Edizioni
Le funzioni di supporto integrate sono registrate su ogni edizione. Ciò che cambia è l'API di gioco che leggono; dove ne manca una, la funzione di supporto ripiega su un'alternativa o restituisce nil con un motivo.
Non legge direttamente alcuna API di gioco.
Valori segreti (Retail e Forever)
Su Retail e Forever il gioco fornisce agli addon valori segreti. Questa funzione di supporto controlla ciò che legge (addon.Platform:CanReadValue) e restituisce nil con un motivo come restricted-value invece di un valore segreto che non può confrontare. Considera nil come non disponibile, non come false.
Come la chiama l'addon
Functions.forecast.calculatelocal rows,why=readField(platform,history,name)
Sorgente
Functions/forecast.lua, riga 38. Nel gioco è in sola lettura; Duplica crea una copia modificabile.
Functions.forecast.readField(platform, object, key)
if not platform:CanReadValue(object) then return nil,'restricted-value' end
if type(object)~='table' then return nil,'invalid-forecast-history' end
local ok,value=pcall(function() return object[key] end)
if not ok then return nil,'forecast-history-error' end
if not platform:CanReadValue(value) then return nil,'restricted-value' end
return value