Наряддя для {{ЧиЗнаєтеВи}}. Всі окремі гачки зберігаються і можуть бути додані за посиланням Модуль:ЧиЗнаєтеВи/факти.
local p = {}
local facts = require("Модуль:ЧиЗнаєтеВи/факти")
function p.getFacts()
local s = ""
local length = #facts.facts
-- Різні випадкові сіди кожен день (відображає один і той же набір фактів протягом дня, потім інший набір на наступний день тощо).
math.randomseed(math.floor(os.time()/(60*60*24)))
-- Переконайтеся, що дубльовані факти не відображаються
local chosen = {}
while #chosen < 8 do
local random = math.random(1, length)
local isPresent = false
for i, v in ipairs(chosen) do
if v == random then
isPresent = true
break
end
end
if not isPresent then
table.insert(chosen, random)
end
end
-- Тепер ми можемо написати висновок.
local result = {}
for i, v in ipairs(chosen) do
result[i] = "* … що " .. facts.facts[v] .. "?"
end
return table.concat(result, "\n")
end
-- Перелік всіх фактів. Призначений для полегшення налагодження.
function p.getAllFacts()
local result = {}
local length = #facts.facts
for i = 1, length do
result[i] = "* … що " .. facts.facts[i] .. "?"
end
return table.concat(result, "\n")
end
return p