检查列表是否为空<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />你好呀,
这可能是一个很容易回答的问题,但我想做的是使用 JMP 来计算特定目录中包含的文件数,如果不存在则返回 0 值,或者返回文件数。
我知道使用“目录中的文件”功能会将包含的文件列出为列表,但我想要做的是将其转换为数值:
IE:
//set up raw dir
raw_dir = "C:\\My PhotoFilmStrips\";
_files = Files In Directory( raw_dir );
//show files
show(_files);
show( Type(_files), Is Empty(_files), Is Missing(_files), _files==Empty());
如果我运行上面的脚本,我会得到以下内容,其中包含原始目录中的文件:
类型(_files)=“列表”;
为空(_files) = 0;
丢失(_files)= {0};
_files == 空() = 0;
当目录为空时,我得到:
类型(_files) = "数量";
为空(_files) = 0;
丢失(_files)= 1;
_files == 空() = .;
我如何利用 Is Missing 变量 - 即如果它是 1,则将数字分配给变量,如 tt=0,当 Is Missing 变量为 0 时,则 tt=1
任何帮助,将不胜感激
参考值
科林
回复:检查列表是否为空不见了() on 空列表将返回一个空列表,因为它对列表的每个元素进行操作。如果列表为空,则没有元素不见了()进行操作,因此它返回空列表。然而,更好的方式是通过以下示例来了解这一点:
lst = {1,2,.,""};
缺失(lst);
回复:检查列表是否为空在 JMP 10 和 11 中,空目录给出空列表,而不是缺失值,因此我期望不见了()返回 0。 奇怪的是,如果应用于空列表不见了()返回一个空列表,而不是布尔函数的预期输出 0 或 1。 我不确定它在 JMP 9 中如何工作。
我建议你使用N Items() 代替。 例如:
TT = (尼特姆斯( _文件) > 0 ) ;
如果使用不见了()您可以使用 NOT 运算符在 0 和 1 之间切换,即 !Is Missing()