При использовании переменных модуля в качестве входных переменных, есть ли способ указать свойство intent (in), как мы делаем для подпрограммы varialbe? - PullRequest
0 голосов
/ 14 ноября 2018

Чтобы напомнить мне, что переменная из модуля, используемого в подпрограмме, является вводом, а не выводом, я обычно добавляю комментарии, чтобы указать это, что ничего не предоставляет компиляторам.

1 Ответ

0 голосов
/ 14 ноября 2018

В Фортране нет такой вещи, которая импортировала бы переменную модуля как константу. Как упоминалось в roygvib, вы можете объявить переменную protected внутри модуля, чтобы сделать ее доступной только для чтения для всех остальных модулей. Но вы не можете импортировать незащищенную переменную как доступную только для чтения в Fortran.

Я рекомендую не рассматривать переменные модуля, которые на самом деле просто лучше глобальных переменных, как ввод или вывод. Если что-то явно является входом или выходом вашей подпрограммы, сделайте это явным аргументом и назовите это так, чтобы было понятно, что вы делаете - с глобальной переменной в качестве фактического аргумента.

...