Как проверить, определена ли переменная в Octave? - PullRequest
7 голосов
/ 17 декабря 2011

При написании скрипта, который загружает данные, каждый раз ждать, пока он загружается, - пустая трата времени.

Как проверить, определена ли переменная?

Ответы [ 3 ]

12 голосов
/ 17 декабря 2011

Вы можете использовать функцию exist в Octave для выполнения работы. Его можно использовать для проверки существования данного имени в виде переменной, встроенной функции, файла или каталога. В вашем случае, чтобы проверить существование переменной, вы можете использовать что-то вроде этого:

if (exist("your_var_name", "var") == 1)
    printf("varname exists");
else
    printf("varname not exists");
endif

Для более подробной информации вы можете обратиться по следующим ссылкам:

5 голосов
/ 09 мая 2013

Необходимо также указывать имя переменной в кавычках,

Существуют ("varname", "var")

2 голосов
/ 17 августа 2014
if (exist("itemcount") == 1)
  % here it checks if itemcount is a variable, by changing the value after ==, you can check for function name, file name, dir, path etc.
end

Примечание itemcount указан в двойных кавычках.

Изменяя значение после ==, вы можете проверить имя функции, имя файла, каталог, путь и т. Д.

из /дополнительная информация по адресу: https://www.gnu.org/software/octave/doc/interpreter/Status-of-Variables.html#XREFexist

другие возвращаемые значения .. 2, если имя является абсолютным именем файла, обычным файлом в пути Octave или (после добавления '.m') функциональным файлом в пути Octave, 3, если имя является файлом «.oct» или «.mex» в пути Octave, 5, если имя является встроенной функцией, 7, если имя является каталогом, или 103, если имя является функцией, не связаннойс файлом (вводится в командной строке).В противном случае верните 0.

...