SomonScriptDocsСистема модулей
Глава 9 • Система модулей

Модули в SomonScript

Модули (modules) позволяют разделить код на небольшие файлы и использовать его повторно. Это особенно важно для больших проектов.

1. Модуль с одной функцией

Каждый файл .som - это модуль. В этом примере файл math.som экспортирует функцию с помощью содир, а файл main.som импортирует её с помощью ворид. Оба файла лежат в одной папке.

Модуль математики

Экспорт (содир) и импорт (ворид) функции из модуля.

example.som
// файл: math.som
содир функсия ҷамъ(а: рақам, б: рақам): рақам {
  бозгашт а + б;
}

// файл: main.som
ворид { ҷамъ } аз "./math";

тағ натиҷа: рақам = ҷамъ(2, 3);
чоп.сабт("Натиҷа: " + натиҷа);
terminal
somon run main.som
Натиҷа: 5

2. Модуль с несколькими экспортами

Модуль может экспортировать несколько функций или классов. Мы можем импортировать их вместе.

Модуль библиотеки

Экспорт нескольких функций из одного модуля.

example.som
// файл: library.som
содир функсия илова_китоб(ном: сатр): беджавоб {
  чоп.сабт("Китоб илова шуд: " + ном);
}

содир функсия нест_кардан(ном: сатр): беджавоб {
  чоп.сабт("Китоб нест карда шуд: " + ном);
}

// файл: main.som
ворид { илова_китоб, нест_кардан } аз "./library";

илова_китоб("SomonScript барои мактабҳо");
нест_кардан("SomonScript барои мактабҳо");
terminal
somon run main.som
Китоб илова шуд: SomonScript барои мактабҳо
Китоб нест карда шуд: SomonScript барои мактабҳо

3. Упражнения

Эти упражнения помогают ученикам понять, как работают модули.

  1. Создайте модуль math2, который экспортирует функции умножения и деления, и используйте их в другом файле.
  2. Создайте модуль, который хранит список книг и содержит функции добавления, удаления и вывода списка.
  3. Создайте модуль auth, который экспортирует функции проверки логина и пароля.