Модуль:Aggregator/doc
Материал из Поле цифровой дидактики
Это страница документации Модуль:Aggregator.
Module:Aggregator
Модуль Aggregator — учебный Lua-модуль для курса «Программирование» в MediaWiki/Scribunto. Он показывает, как страница вики может рассматриваться как источник данных для анализа.
Назначение
Модуль поддерживает 5 базовых режимов:
| Режим | Что делает |
|---|---|
args |
считает количество переданных аргументов |
chars |
считает длину исходного вики-текста страницы в байтах |
words |
считает количество слов в исходном вики-тексте страницы |
links |
считает количество wikilinks вида ...
|
headings |
считает количество заголовков вида == ... ==
|
Базовый вызов
{{#invoke:Aggregator|main|mode=args|a=Lua|b=SMW|c=NetLogo}}
Результат: количество переданных аргументов.
Примеры
| Вики-текст | Назначение |
|---|---|
{{#invoke:Aggregator|main|mode=args|a=1|b=2|c=3}} |
Подсчёт аргументов |
{{#invoke:Aggregator|main|mode=chars|title=Lua/Tutorial}} |
Подсчёт длины страницы |
{{#invoke:Aggregator|main|mode=words|title=Lua/Tutorial}} |
Подсчёт слов |
{{#invoke:Aggregator|main|mode=links|title=Lua/Tutorial}} |
Подсчёт wiki-ссылок |
{{#invoke:Aggregator|main|mode=headings|title=Lua/Tutorial}} |
Подсчёт заголовков |
Отдельные функции
Можно вызывать функции напрямую:
{{#invoke:Aggregator|args|x=1|y=2}}
{{#invoke:Aggregator|words|title=Lua/Tutorial}}
{{#invoke:Aggregator|links|title=Lua/Tutorial}}
Ограничения
- Модуль анализирует исходный вики-текст, а не визуально отрендеренный HTML.
- Подсчёт символов выполняется как длина строки в байтах.
- При большом числе вызовов на одной странице возможны ограничения MediaWiki по ресурсоёмкости.
Remix-задания
Студент может создать модуль вида:
Module:Ivanov_AggregatorModule:Student/Ivanov/Aggregator
и добавить новые режимы:
| Новый режим | Идея |
|---|---|
templates |
считать шаблоны Шаблон:...
|
categories |
считать категории |
files |
считать вхождения файлов |
sentences |
считать предложения |
externallinks |
считать внешние ссылки |
Учебный смысл
Этот модуль показывает переход:
- от подсчёта аргументов
- к анализу страницы
- к созданию собственной метрики текста
- к remix-программированию внутри wiki-страниц
