Octave продолжает выполнять предыдущую версию моего кода

#octave

#octave

Вопрос:

По сути, проблема возникает после этих шагов:

1- Я создаю алгоритм на Octave

2- Я сохраняю и выполняю его

3- Я меняю алгоритм

4- Я сохраняю и выполняю снова

Однако по какой-то причине Octave выполняет алгоритм, как это было на «шаге 2» вместо нового «шага 4». Единственный способ исправить это — закрывать и повторно открывать программное обеспечение каждый раз, когда я что-то редактирую. Что я делаю не так?

Комментарии:

1. ваш код сохраняется на локальном компьютере или на сетевом диске? было несколько сообщений о том, что octave не распознает, что файл изменился из-за того, как некоторые серверы обновляют измененные даты, поэтому он запускает уже кэшированный, а не обновляет его.

2. это ошибка, которая была отмечена ранее; это не происходит в общем случае (например, если вы измените переменную в скрипте и повторно запустите скрипт, все будет в порядке), но есть несколько особых случаев, когда это было отмечено, например, при работе с пространствами имен, или где octave предполагает (намеренно), что функции не были обновлены ради оптимизации (например, проверки help ignore_function_time_stamp ). Не могли бы вы немного описать структуру вашего кода?

3. PS. как следует из документации ignore_function_time_stamp , clear редактирование функции перед ее повторным запуском может решить вашу проблему. Вот также пара ошибок, которые могут быть связаны: savannah.gnu.org/bugs/?46281 / savannah.gnu.org/bugs/?46282 . Кстати, какую версию octave вы используете? (и какая ОС?)

4.@TasosPapastylianou Спасибо, что указали на ignore_function_time_stamp функцию. Согласно документации ignore_function_time_stamp("none") , octave должен перекомпилировать все файлы. Но не работает в версии 6.4.0. После перезапуска octave выполняется новейшая версия моего кода. Кажется, что ошибочное поведение появляется после того, как я добавляю некоторые из своих папок с кодом в path с add_path(<my folder>)

5. @PaulWeibert Я не могу комментировать без примера, но, сказав это, многие из связанных с этим поведений, о которых сообщалось как об ошибках выше, теперь исправлены. Возможно, либо то, что вы описали, теперь исправлено в последней версии octave (версия 7.2.0), либо вы обнаружили ошибку, конкретно связанную с addpath, приводящую к аналогичному поведению. Я бы посоветовал вам сообщить об этом в багтрекере, если это последнее 🙂