No estoy seguro si el título está bien puesto. Sugerencias bienvenidas.Cómo alias un nombre de función en Fortran
Esto es lo que quiero hacer. Verifique una condición y luego decida qué función usar en un bucle. Por ejemplo:
if (a < 0) then
loop_func = func1
else
loop_func = func2
endif
hacemos lo siguiente loop_func
como un puntero al escribir mi bucle. Ambas funciones toman exactamente las mismas entradas, y son diferentes los enfoques para abordar el problema en función del valor de a
. Esto me permitirá tener solo un bloque de código, en lugar de dos bloques casi idénticos. Esto también podría aplicarse a las subrutinas.
¿Alguna idea de cómo esto podría implementarse?
Gracias.
¿Para qué dialecto es esto? – wallyk
Hmm ... tan '=>' es una especie de operador de asignación para punteros, y 'procedure (func)' es algún tipo de declaración para procedimientos, como 'tipo (mytype)' es para tipos derivados. Supongo que 'null()' se usa para la inicialización y es equivalente a 0. Como puedes ver, soy un principiante en esto.Y sí, Fortran es el primer lenguaje de programación que estoy aprendiendo correctamente. –
Algunas preguntas. ¿Para qué es la 'interfaz'? ¿Es esa la manera de especificar un procedimiento (una vez más, como tipo derivado), y para garantizar que lo que señala el puntero es del "tipo" correcto? Además, tiene una 'parada' antes del final de su programa. ¿Es esa la mejor práctica, y debería incluirla también en mi código? –