Справочник › Справочник функций › Functions

Functions.forecast.readField

зависимость

Как вызывать

Functions.forecast.readField(platform, object, key)

Запишите зависимость Functions.forecast.readField и вызывайте её по этому имени. Вызов через пространство имён не передаёт self: используйте вызов через двоеточие или передайте объект сами.

Что делает

Reads object[key] for Functions.forecast.calculate without letting a restricted value, a non-table object or an index error escape.

Аргументы

ИмяТипЧто делает
platformRMPlatformPlatform whose CanReadValue decides readability.
objectanyTable to read, such as the history record or one of its rows.
keyanyKey to read, such as "damage" or "time".

Возвращает

1anyThe field's value (possibly nil), or nil on failure.
2string | nilReason on failure: restricted-value, invalid-forecast-history or forecast-history-error.

Издания

Встроенные помощники регистрируются во всех изданиях. Различается игровой API, который они читают; если нужного API нет, помощник использует запасной вариант или возвращает nil с причиной.

Не читает игровой API напрямую.

Секретные значения (Retail и Forever)

В Retail и Forever игра передаёт аддонам секретные значения. Этот помощник проверяет то, что читает (addon.Platform:CanReadValue), и вместо секретного значения, которое нельзя сравнить, возвращает nil с причиной, например restricted-value. Считайте nil недоступным значением, а не ложью.

Как его вызывает аддон

Исходный код

Functions/forecast.lua, строка 38. В игре только для чтения; «Дублировать» создаёт редактируемую копию.

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

Назад: Справочник функций