Module:DYK: Difference between revisions
Created page with "local p = {} local facts = mw.loadJsonData("module:DYK/list")["facts"] function p.subset(frame) local ret = {} local facts_len = 0 for i in ipairs(facts) do facts_len = facts_len + 1 end math.randomseed(math.floor(os.time()/(60*60*24))) local tinsert = table.insert local mrandom = math.random local sformat = string.format while #ret < tonumber(frame.args[1]) do local my_fact = facts[mrandom(1, facts_len)] local do_insert = true for i, v in ipairs(re..." |
mNo edit summary |
||
| (3 intermediate revisions by the same user not shown) | |||
| Line 13: | Line 13: | ||
while #ret < tonumber(frame.args[1]) do | while #ret < tonumber(frame.args[1]) do | ||
local my_fact = facts[mrandom(1, facts_len)] | local my_fact = sformat("*...that %s?", facts[mrandom(1, facts_len)]) | ||
local do_insert = true | local do_insert = true | ||
for i, v in ipairs(ret) do | for i, v in ipairs(ret) do | ||
mw.log(v) | |||
mw.log(my_fact) | |||
if v == my_fact then | if v == my_fact then | ||
do_insert = false | do_insert = false | ||
| Line 24: | Line 26: | ||
if do_insert then | if do_insert then | ||
tinsert(ret | tinsert(ret, my_fact) | ||
end | end | ||
end | |||
return table.concat(ret, "\n") | |||
end | |||
function p.full() | |||
local ret = {} | |||
local tinsert = table.insert | |||
local sformat = string.format | |||
for i, v in ipairs(facts) do | |||
tinsert(ret, sformat("*...that %s?", v)) | |||
end | end | ||