Шаг 122.
Основы языка Haskell. Абстрактные типы данных (АТД). Ассоциативные списки на базе списка пар. Описание модуля с импортируемым модулем

    На этом шаге мы рассмотрим описание такого модуля.

    Существует два способа импортирования модулей:

  1. Использование служебного слова import:
       module <Имя_модуля>
       where
       import <Имя_модуля_1> [(<Объект_1>,[<Объект_2>...])]
    
    В декларации import явно описано, какие именно объекты импортируются из указанного модуля. В том случае, если описание объектов опустить, то будут импортироваться все объекты, которые указанный модуль экспортирует.

  2. Название файла именем указанного модуля, чтобы транслятор Haskell имел возможность найти этот модуль среди файлов с исходными кодами.

        В случае импортирования нескольких модулей с объектами, имеющими одинаковые имена, применяют служебное слово qualified:

       module <Имя_модуля>
       where
       import qualified <Имя_модуля_1> [(<Объект_1>,[<Объект_2>...])]
    

        Имена объектов импортируемых модулей приобретают следующий вид:

       <Имя_модуля>.<Имя_объекта>
    

        В декларации импорта можно выборочно "спрятать" некоторые из экспортируемых объектов с помощью служебного слова hiding:

       import hiding <Имя_модуля> (<Объект_1>)
    

        В этом случае из модуля импортируется всё, что перечислено в его интерфейсе, за исключением <Объект_1>.

        При импорте можно определить псевдоним модуля для квалификации имён экспортируемых из него объектов. Для этого используется служебное слово as:

       import qualified <Имя_модуля> as <Сокращённое_имя_модуля>
    

        Это может быть полезным для укорачивания имён модулей.

    На следующем шаге мы рассмотрим моделирование комплексных чисел.




Предыдущий шаг Содержание Следующий шаг