Код, необходимый для работы шаблона {{А вы знали}}
. Все факты хранятся и могут быть добавлены на странице Модуль:А вы знали/Факты.
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