如何在Octave中检查变量是否已定义?

8

当编写加载数据的脚本时,每次等待其加载都是浪费时间。

如何检查变量是否已定义?

3个回答

13
您可以使用Octave中的exist函数来完成此操作。它可用于检查给定名称作为变量、内置函数、文件或目录的存在性。在您的情况下,要检查变量的存在性,您可以使用以下类似代码:
if (exist("your_var_name", "var") == 1)
    printf("varname exists");
else
    printf("varname not exists");
endif

您可以参考以下链接获取详细信息:


2
应该是 if (exist("varname", "var") == 1)。 - Serhiy

6

需要将变量名也放在引号中,

exist("变量名", "变量")


2
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

其他返回值… 如果名称为绝对文件名,在Octave路径中是普通文件或(在附加“ .m”后)是Octave路径中的功能文件,则为2,如果名称是Octave路径中的“ .oct”或“ .mex”文件,则为3,如果名称是内置函数,则为5,如果名称是目录,则为7,如果名称是未与文件关联的函数(输入命令行),则为103。否则,返回0。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接