В некотором унаследованном коде, я нашел следующую строкуразмера Настройки() скаляр
size(k)=N
Что (если что-нибудь) делает это делать? Насколько мне известно, нет смысла устанавливать size(thing)
значение в Fortran.
Кроме того, k
неявно определяется как скаляр integer
(то есть там, где он не объявлен в исходном файле), он используется как счетчик циклов. N
также integer
, считывается из файла.
Если я окружаю заявление с отладочных гравюр,
write(0,*) size(kkk), N, kkk
size(kkk)=N
write(0,*) size(kkk), N, kkk
я получаю выход, как в следующем:
-619273800 601 1
601 601 1
11007 595 2
595 595 2
-619273800 620 3
620 620 3
11007 595 4
595 595 4
0 617 5
617 617 5
0 618 6
618 618 6
0 612 7
612 612 7
Так что похоже то создается, но я не знаю, какие. Кроме того, я не думаю, что это приводит к любым проблемам (на самом деле, я не думаю, что это действительно что-то делает), мне просто интересно.
'size (k) = N' имеет смысл, когда' size' является переменной массива. Вы можете найти декларацию для этого где-нибудь? – francescalus
@francescalus вы абсолютно правы! 'size (:)' был объявлен в модуле, импортированном в мою подпрограмму. Мой редактор подчеркивает его как ключевое слово, и я даже не считаю его переменной. Я думаю, что я хочу переименовать эту переменную, хотя ... Возможно ли вообще ссылаться на внутреннюю процедуру 'size()', где переменная 'size' находится в области видимости? – xebtl