typestar

Módulos y use en Fortran

Un módulo y su programa en un archivo: constantes y funciones detrás de un nombre.

! A module is the unit of reuse: data and procedures behind a name.
module tide_tools
    implicit none
    real, parameter :: causeway_limit = 9.5

contains

    pure logical function safe_to_cross(feet)
        real, intent(in) :: feet
        safe_to_cross = feet <= causeway_limit
    end function safe_to_cross
end module tide_tools

! The program pulls the module in with use, then calls as if local.
program modules_use
    use tide_tools, only: safe_to_cross, causeway_limit
    implicit none
    real :: today(3) = [8.2, 11.4, 9.1]
    integer :: i

    print *, "limit is ", causeway_limit, " ft"
    do i = 1, size(today)
        print *, today(i), " ft safe? ", safe_to_cross(today(i))
    end do
end program modules_use

Cómo funciona

  1. module tide_tools guarda un parameter y, después de contains, una función pure.
  2. use tide_tools, only: ... importa exactamente los nombres que el programa quiere.
  3. Después del use, safe_to_cross se llama como local — el módulo es la unidad de reuso.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
25
Caracteres a escribir
664
Tokens
109
Ritmo de tres estrellas
65 tpm

Al ritmo de tres estrellas de 65 tokens por minuto, este intento toma unos 101 segundos.

Escribe este fragmento

Paso 3 de 3 en Kinds y módulos; paso 24 de 27 en Fundamentos del lenguaje.

← Anterior Siguiente →