SomonScriptDocsСистемаи модулҳо
Боби 9 • Системаи модулҳо

Модулҳо дар SomonScript

Модулҳо (modules) ба мо имкон медиҳанд, ки кодро ба файлҳои хурд тақсим кунем ва аз нав истифода барем. Ин махсусан барои лоиҳаҳои калон муҳим аст.

1. Модул бо як функсия

Дар ин мисол модуле месозем, ки як функсияро содир мекунад ва дар файли дигар онро истифода мебарем.

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

Содир ва ворид кардани функсия аз модул.

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

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

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

2. Модул бо якчанд содирот

Модул метавонад якчанд функсия ё синфро содир кунад. Мо метавонем онҳоро якҷо ворид кунем.

Модули китобхона

Содир кардани чанд функсия аз як модул.

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

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

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

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

3. Машқҳо

Ин машқҳо ба донишҷӯён ёрӣ медиҳанд, то кори модулҳоро дарк кунанд.

  1. Модули math2 созед, ки функсияҳои зарб ва тақсимро содир мекунад ва онҳоро дар файли дигар истифода баред.
  2. Модуле созед, ки рӯйхати китобҳоро нигоҳ медорад ва функсияҳои илова, нест кардан ва намоиш додан дорад.
  3. Модули auth созед, ки функсияҳои санҷиши логин ва паролро содир мекунад.