Module:Sandbox/Gnosygnu
Appearance
--This Module is for Lua experimentation. No other pages refer to it.
local p = {}
function p.siteinfo(frame)
return mw.site.siteName .. '--' .. '(' .. mw.site.server .. ')'
end
function p.getEntity(frame)
local v = mw.wikibase.getEntity();
if v == nil then
return 'nil'
else
return v.id
end
end
--[[
Test with:
* Debug console
** Code:
:: =p.ustring_find({args={[1]='abab', [2]='b', [3]=3, [4]='true'}})
** Returns -> 4 (2nd b, not 1st b)
* https://en.wikipedia.org/wiki/Project:Sandbox
** Code:
:: {{#invoke:Sandbox/Gnosygnu|ustring_find|abab|b|3|true}}
** Returns -> 4 (2nd b, not 1st b)
--]]
function p.ustring_find(frame)
local args = frame.args;
local rslt = {mw.ustring.find(args[1], args[2], tonumber(args[3]), args[4] == 'true')};
local rv = '';
local rslt_len = #rslt;
for i=1,rslt_len do
if i ~= 1 then
rv = rv .. ';'
end
rv = rv .. rslt[i]
end
return rv;
end
function p.ustring_gsub(frame)
local args = frame.args;
local rslt = {mw.ustring.gsub(args[1], args[2], args[3])};
local rv = '';
local rslt_len = #rslt;
for i=1,rslt_len do
if i ~= 1 then
rv = rv .. ';'
end
rv = rv .. rslt[i]
end
return rv;
end
function p.test18(frame)
return mw.language.fetchLanguageName(frame.args[1], 'en');
-- return mw.language.fetchLanguageName(frame.args[1]);
end
return p