通过use / only包含的事物的变量初始化

时间:2014-07-01 05:05:03

标签: initialization fortran scope fortran90

我想在模块中创建一个变量,从我从另一个数量导入的数量。这个模块中的所有函数都将使用new变量,所以我不想在每个函数中声明并重新赋值。我想在开始时声明并分配一次,并将其全局化到整个模块。但这不起作用:

module example_mod
   use some_constants, only:derp, blah

   implicit none

   real, private :: derived_const = derp*(blah-1.0)/50.0   !doesn't work!

contains

!a whole bunch of functions that use derived_const

我怎样才能得到我想要的东西?

1 个答案:

答案 0 :(得分:2)

编译器告诉你" derp"应该是一个常数。您可以通过在声明中添加说明符parameter来使其成为一个。这对于常量变量也更安全,因为它会阻止程序员意外地更改它们。