यह Module:देशआँकड़े हेतु प्रलेख पृष्ठ है

This module has three functions to extract data from country data templates (which are used for most flag templates).

gettable संपादित करें

Extracts all parameters from a data template and returns them as a Lua table. This function is only usable from other Lua modules; invoke it using require('Module:CountryData').gettable(parameters).

The first parameter is the frame of the invoking module; the second is the country or other entity to get the data of. The optional third parameter is a table of parameters to pass into the data template; this may, for example, include |age= or |mw=, which are used in the values of some sports alias parameters. E.g.,

local data = require('Module:CountryData').gettable(frame,"France",{age="20",mw="men's"})

The function returns an empty table if a data template does not exist or does not conform to the standard structure.

getalias संपादित करें

If used from wikicode, this function returns the value of a single field in a data template. The first parameter is the country or other entity whose data to return; the second is the name of the field. For example, {{#invoke:देशआँकड़े|getalias|France|flag alias}} → Flag of France.svg. The other parameters are |variant= to return a variant parameter value, with fallback to the main field value if the variant does not exist, and |def= for the fallback output if the wanted data template or field does not exist, the default for which is a literal "nil".

Note: This is likely not quicker than wikicode-only alternatives such as {{getalias}} and {{getalias2}}, because it transcludes the data template from Lua and converts it to a Lua table using the above function, picks the wanted parameter name, and returns it to wikicode, whereas other templates perform two simple non-Lua transclusions to get, in most cases, the same result. The Lua version does have the advantage that using it with a non-existing country data template returns "nil" (or the value of |def=) rather than a redlink to the data template. See a comparison of the four at User:SiBr4/Flagg tests#Lua-based getalias.

gettemplate संपादित करें

This function concatenates the fields of a data template into a string similar to what you get when transcluding it directly. It can be compared with a direct transclusion to test if a template is being converted to Lua correctly:

{{#tag:pre|{{Country data France}}}}
{{#tag:pre|{{#invoke:CountryData|gettemplate|France}}}}

gives

{{ {{{1}}}
| alias = फ़्रान्स
| flag alias = Flag of France.svg
| flag alias-medieval = Flag of France (XIV-XVI).svg
| flag alias-early = Pavillon royal de France.svg
| flag alias-1790 = Flag of France (1790-1794).svg
| flag alias-1814 = Flag of the Kingdom of France (1814-1830).svg
| flag alias-free = Flag of Free France (1940-1944).svg
| flag alias-vichy = VichyFlag.svg
| flag alias-naval = Civil and Naval Ensign of France.svg
| flag alias-naval-royal = Naval Ensign of the Kingdom of France.svg
| link alias-naval = French Navy
| size = 
| name = 
| altlink = 
| variant = 

}}
{{ {{{1}}}
| flag alias-vichy = VichyFlag.svg
| flag alias-naval-royal = Naval Ensign of the Kingdom of France.svg
| flag alias-1790 = Flag of France (1790-1794).svg
| altlink = 
| flag alias-medieval = Flag of France (XIV-XVI).svg
| name = 
| alias = फ़्रान्स
| flag alias = Flag of France.svg
| link alias-naval = French Navy
| flag alias-early = Pavillon royal de France.svg
| variant = 
| flag alias-1814 = Flag of the Kingdom of France (1814-1830).svg
| flag alias-naval = Civil and Naval Ensign of France.svg
| flag alias-free = Flag of Free France (1940-1944).svg
| size = 
}}

Note that, like with all Lua tables, the order of entries is not preserved, so the parameters are mixed up.