Сделать процедуру доступной для всех файлов модулей?
Я использую модули для управления программным обеспечением. Я пытаюсь настроить среду так, чтобы определенная функция могла быть вызвана из любого файла модуля, и каждый файл не должен иметь определение процедуры.
Пример: я хочу util:prereq
функция должна быть доступна в следующем модульном файле без необходимости определять ее определение:
#%Module1.0
util::prereq compiler_intel/13.0.1 mpi/openmpi-1.6.4_intel-13.0.1
Для того, чтобы сделать это, я знаю, что мне нужно подключиться к modulefiles или tcl или что-то еще Есть идеи?
Использование этой функции аналогично prereq
за исключением того, что функция будет загружать любые предпосылки вместо сбоя, потому что она не загружена.
1 ответ
Гораздо лучший способ, чем предложил Кларк, - использовать старый tclIndex
файл.
Этот файл должен быть в папках $auto_path
или их подкаталог (предлагается подкаталог).
Вы можете создать tclIndex
подать вручную или вызвать
auto_mkindex directory file.tcl
Опять же: каталог должен быть (под) каталогом $auto_path
Это будет источником вашего tcl-файла, если одна из его команд будет использована впервые.