Module:User:Vitalik/inflection
- The following documentation is located at Module:User:Vitalik/inflection/documentation. [edit] Categories were auto-generated by Module:documentation. [edit]
- Useful links: root page • root page’s subpages • links • transclusions • testcases • user page • user talk page • userspace
Navigation
editActive version | Development version | ||
---|---|---|---|
M:uz-inflection | {{uz-inflection}} | M:*/inflection | {{*/inflection}} |
Development version:
unit | testcases | main template | table template |
---|---|---|---|
M:*/inflection/units/ru-noun @ | M:*/.../testcases @ | {{*/ru-decl-noun-z}} @ | {{*/ru-decl-noun-table-z}} @ |
M:*/inflection/units/uz-noun | M:*/.../testcases | {{*/uz-decl-noun}} | {{*/uz-decl-noun-table}} |
Documentation
editDocumentation for this module will be created later.
-- Inflection module v2.0.3
-- 2015-08-14
local dev_prefix = ''
dev_prefix = 'User:Vitalik/' -- comment this on active version
local export = {}
local u = require("Module:utils")
-- Function to load corresponding unit
local function load_unit(unit_name)
if unit_name == '' then
return nil
end
return require("Module:" .. dev_prefix .. "inflection/units/" .. unit_name);
end
-- This export function is used from testcases
function export.test(unit_name, base, args)
local unit = load_unit(unit_name)
return unit.forms(base, args)
end
-- This export function is used from templates
function export.get(frame)
local base = u.get_base()
local args = frame:getParent().args
local unit_name = frame.args['unit']
local unit = load_unit(unit_name)
if unit == nil then
return 'Error: Name of unit is absent'
end
return frame:expandTemplate{
title=unit.template(base, args),
args=unit.forms(base, args)
}
end
return export