Modul:Arguments/Fallback/doc
< Модул:Arguments | Fallback
Pređi na navigaciju
Pređi na pretragu
| Ovaj modul je ocenjen kao alpha. Spreman je za unos od strane trećeg lica i može da bude korišćen na nekoliko stranica da bi se uvidele eventualne greške i problemi; za to vreme treba da se nadzire. Predlozi za nove funkcije ili promene u mehanizmu unosa i ispisa su dobrodošli. |
Usage
This module provides a function which adds fallback functionalities to a given table args according to the fallback sequence given in arg_aliases. Note that this module currently only supports indexing, i.e. __index.
Parameters
- args
- The table to add fallback functionalities.
- arg_aliases
- A table of the form
{ [key] = { fallback1, fallback2... } }.
Example
The following snippet adds template parameter aliases to a metatable obtained from Module:Arguments.
local getArgs = require('Module:Arguments').getArgs
local makeFallback = require('Module:Arguments/Fallback')
local p = {}
function p.main(frame)
local args = makeFallback(getArgs(frame), {
["foo_bar"] = {"foobar", "foo", "bar"}
})
-- Try calling this template with |foo=42.
return (args["foo_bar"] or "nothing here!")
end
return p
The following snippet shows basic usage of indexing fallback.
local makeFallback = require('Module:Arguments/Fallback')
table = {
["bar"] = "crunchy"
}
makeFallback(table, {
["foo_bar"] = {"foobar", "foo", "bar"}
})
return table["foo_bar"]
The following snippet creates a fallback list with all fallback names aliasing back to the main name.
local makeFallback = require('Module:Arguments/Fallback')
table = {
["bar"] = "crunchy"
}
makeFallback(table, {
["foo_bar"] = {"foobar", "foo", "bar"},
["foo"] = {"foo_bar"},
["foobar"] = {"foo_bar"},
["bar"] = {"foo_bar"}
})
return table["foo"]