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
call causeway_call(feet, advice)invoca;containsguarda la definición abajo.intent(in)vuelve la lectura de marea de solo lectura adentro; el compilador lo exige.intent(out)marca el veredicto como vía de salida;len=*toma el largo del llamador.
Palabras clave y builtins usados aquí
callcharactercontainselseendifimplicitintentlennoneprintprogramrealsubroutinethentrim
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.
Paso 1 de 3 en Procedimientos; paso 13 de 27 en Fundamentos del lenguaje.