В общем решил немного изучить fortran (for fun), решил написать одну программку, которая делает некоторые расчеты.
Данные идут из файла, количество данных не фиксировано, поэтому массив (по идее) должен быть динамическим. Пишу real, dimension(:), allocatable :: m
, а emacs’овский fortran-mode ругается на то, что ALLOCATABLE attribute conflicts with RESULT attribute
, хотя gfortran даже не давится с -Wall -Wpedantic -Wextra
.
Код:
function get_map() result(m)
implicit none
integer, dimension(:), allocatable :: m ! fortran-mode ругается именно тут
allocate(m(15)) ! пока так, потом напишу функцию, которая возвращает кол-во элементов
open(unit = 1, file = 'field2.txt', status = 'old')
read (1, *) m
close(1)
print *, m
end function get_map
В общем, мой вопрос: все ли так я делаю и не обращать внимание на то, что ругается fortran-mode?
Ну и спрошу сразу, чтоб отдельную тему не создавать - читать большую книгу по fortran как-то лень, поэтому посоветуйте какой-то интернет ресурс, где вкратце бы пояснялся fortran и то как делать надо, а как не надо.