Использовать семантику / неизменность типов значений в Фортране? - PullRequest
1 голос
/ 10 марта 2020

Глядя на нашу кодовую базу, я вижу много случаев, когда поля производных типов заставляют вас ожидать, что они останутся неизменными после инициализации и, в идеале, будут инициализироваться сразу и никогда не изменяться впоследствии (как «тип значения»).

На практике создаются быстрые решения, так что изменение поля или даже того, что оно содержит, может зависеть от пути к коду, что приводит к большим каскадам IF-ELSE повсюду, делая код сложным для отслеживания и ломким против изменений.

Это заставило меня задуматься: возможно ли применять ограничения, такие как неизменность полей?

1 Ответ

0 голосов
/ 11 марта 2020

Вы можете использовать ключевое слово «параметр», чтобы сделать переменную константой.

https://www.tutorialspoint.com/fortran/fortran_constants.htm

real, parameter :: g = 9.81

Вы должны знать значения во время компиляции, так что это может быть не то, что вы ищете. Если это не так, не могли бы вы дать нам некоторые разъяснения, и мы можем попытаться помочь вам?

************ РЕДАКТИРОВАТЬ ************* *****

Как уже отмечалось выше, если вам нужно иметь возможность устанавливать переменную во время выполнения, тогда методы получения и установки - это путь к go.

Вы можете либо сделать переменную приватной и написать для нее геттер и установщик, либо, если вы сделаете переменную защищенной, вам нужно только написать для нее установщик.

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