В какой ситуации вы бы использовали «модульную процедуру» в подмодуле при создании отдельных модульных процедур? - PullRequest
3 голосов
/ 29 мая 2020

Я понимаю общие преимущества подмодулей в Fortran 2008+, но мне трудно понять преимущества одного из вариантов синтаксиса.

Если я хочу создать отдельные процедуры модуля (где тело процедуры находится в подмодуле), мне нужно создать интерфейс в родительском модуле. Этот интерфейс должен содержать идентификатор подпрограммы или функции, а также список аргументов и намерение. Все это имеет смысл.

Тогда подмодуль содержит реализацию процедуры, но есть выбор синтаксиса: я могу либо повторить подпись для подпрограммы или функции, либо просто использовать имя из интерфейса после «модуля процедура." Я собирался напечатать пример, но fortran wiki прекрасно показывает это.

Мой вопрос: в чем преимущество использования альтернативного синтаксиса с использованием «модульной процедуры» вместо «модуля» функция »или« подпрограмма модуля », т.е. где тип процедуры, аргументы и намерение не дублируются в файле подмодуля? Похоже, что это просто усложняет обслуживание кода, поскольку теперь необходимо открыть два файла, чтобы понять подпрограмму или функцию. Я упускаю здесь какую-то скрытую выгоду (кроме сохранения копии / вставки)?

1 Ответ

0 голосов
/ 29 мая 2020

Выгода приходит позже в жизни кода. Если вам нужно изменить подпись функции, вам нужно изменить ее только в одном месте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...