Глава 9 • Система модулей
Модули в SomonScript
Модули (modules) позволяют разделить код на небольшие файлы и использовать его повторно. Это особенно важно для больших проектов.
1. Модуль с одной функцией
Каждый файл .som - это модуль. В этом примере файл math.som экспортирует функцию с помощью содир, а файл main.som импортирует её с помощью ворид. Оба файла лежат в одной папке.
Модуль математики
Экспорт (содир) и импорт (ворид) функции из модуля.
example.som
// файл: math.som
содир функсия ҷамъ(а: рақам, б: рақам): рақам {
бозгашт а + б;
}
// файл: main.som
ворид { ҷамъ } аз "./math";
тағ натиҷа: рақам = ҷамъ(2, 3);
чоп.сабт("Натиҷа: " + натиҷа);terminal
somon run main.som
Натиҷа: 52. Модуль с несколькими экспортами
Модуль может экспортировать несколько функций или классов. Мы можем импортировать их вместе.
Модуль библиотеки
Экспорт нескольких функций из одного модуля.
example.som
// файл: library.som
содир функсия илова_китоб(ном: сатр): беджавоб {
чоп.сабт("Китоб илова шуд: " + ном);
}
содир функсия нест_кардан(ном: сатр): беджавоб {
чоп.сабт("Китоб нест карда шуд: " + ном);
}
// файл: main.som
ворид { илова_китоб, нест_кардан } аз "./library";
илова_китоб("SomonScript барои мактабҳо");
нест_кардан("SomonScript барои мактабҳо");terminal
somon run main.som
Китоб илова шуд: SomonScript барои мактабҳо
Китоб нест карда шуд: SomonScript барои мактабҳо3. Упражнения
Эти упражнения помогают ученикам понять, как работают модули.
- Создайте модуль math2, который экспортирует функции умножения и деления, и используйте их в другом файле.
- Создайте модуль, который хранит список книг и содержит функции добавления, удаления и вывода списка.
- Создайте модуль auth, который экспортирует функции проверки логина и пароля.