.:Публикации:. [www.karlson.ru]


Вперед: Работа с переменными из Вверх: Приложение А. Синтаксис внутреннего Назад: Синтаксис операторов   Содержание

Именование и вызовы

Полное имя модуля:
имя_библиотеки::имя1-имя2-имя3
Вложение модулей друг в друга обозначается знаком минус. Для обозначения текущей библиотеки имя библиотеки можно опускать. Если система не находит модуль в текущей библиотеке, перебираются все библиотеки, от которых наследуется данный модуль. Перебор производится слева-направо, снизу-вверх. Таким образом, в последнюю очередь запрашивается библиотека CORE (разумеется, нужно создавать таблицу модулей, чтобы все время не перебирать это дерево). Если опустить два двоеточия, система пытается добавить имя вызываемого модуля к текущему имени (так, если из модуля internet-contents вызывается модуль body, система ищет модуль internet-contents-body), если он не найден, система ищет собственно модуль с таким именем (т.е. ::body). Все порядковые аргументы в вызовах присваиваются слотам с соответствующими номерами. Именованные слоты перечисляются через знак минус. Если после слота через знак равенства пишется значение, оно и присваивается данному слоту. Иначе содержимое слота текущего модуля просто проталкивается вызываемому модулю.
<!-- модуль -слот1 -слот2="значение1" "аргумент1" -->
Модулю "модуль" передается "слот1", значение которого наследуется от текущего модуля, слоту "слот2" передается значение "значение1", первый аргумент модуля (он же слот "1") равен "аргумент1". Разумеется, в слотах можно писать не только символьные значения, но и вызовы, обращения к переменным и слотам и т.д.

...домик на крыше...,поиск,гостевая книга,cv. Be free, use Linux!