typestar

Subrutinas e intent en Fortran

El veredicto del paso elevado vía subrutina: intent le dice al compilador hacia dónde fluye cada dato.

program subroutine_intent
    implicit none
    real :: feet = 11.2
    character(len=24) :: advice

    call causeway_call(feet, advice)
    print *, feet, " ft -- ", trim(advice)

contains
    ! intent tells the compiler which way each argument flows.
    subroutine causeway_call(tide_ft, verdict)
        real, intent(in) :: tide_ft
        character(len=*), intent(out) :: verdict
        if (tide_ft > 9.5) then
            verdict = "stay off the causeway"
        else
            verdict = "safe to cross"
        end if
    end subroutine causeway_call
end program subroutine_intent

Cómo funciona

  1. call causeway_call(feet, advice) invoca; contains guarda la definición abajo.
  2. intent(in) vuelve la lectura de marea de solo lectura adentro; el compilador lo exige.
  3. intent(out) marca el veredicto como vía de salida; len=* toma el largo del llamador.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
20
Caracteres a escribir
496
Tokens
87
Ritmo de tres estrellas
65 tpm

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

Escribe este fragmento

Paso 1 de 3 en Procedimientos; paso 13 de 27 en Fundamentos del lenguaje.

← Anterior Siguiente →