목록이 비어 있는지 확인하세요.<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />안녕하세요,
대답하기 쉬운 질문일 수 있지만 제가 하려는 작업은 JMP를 사용하여 특정 디렉터리에 포함된 파일 수를 계산하고 파일이 없으면 0 값을 반환하거나 파일 수를 반환하는 것입니다.
Files In Directory 함수를 사용하면 목록으로 포함된 파일이 나열된다는 것을 알고 있지만, 제가 원하는 것은 이것을 숫자 값으로 변환하는 것입니다.
즉:
//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());
위 스크립트를 실행하면 raw 디렉터리에 포함된 파일과 함께 다음과 같은 결과가 나타납니다.
유형(_files) = "목록";
비어 있음(_files) = 0;
누락됨(_files) = {0};
_files == 비어 있음() = 0;
디렉토리가 비어 있으면 다음을 얻습니다.
유형(_files) = "번호";
비어 있음(_files) = 0;
누락됨(_files) = 1;
_files == 비어 있음() = .;
Is Missing 변수를 어떻게 사용할 수 있습니까? 즉, 변수가 1이면 tt=0과 같은 변수에 숫자를 할당하고 Is Missing 변수가 0이면 tt=1입니다.
어떤 도움이라도 주시면 감사하겠습니다.
Rgds
콜린
Re: 목록이 비어 있는지 확인하세요.누락() 빈 목록에서는 목록의 각 요소에 대해 작동하기 때문에 빈 목록을 반환합니다.목록이 비어 있으면 해당 요소가 없습니다. 누락() 작업을 수행하므로 빈 목록이 반환됩니다.그러나 이를 더 잘 볼 수 있는 방법은 다음 예입니다.
lst = {1,2,.,""};
누락(lst);
Re: 목록이 비어 있는지 확인하세요.JMP 10과 11에서 빈 디렉토리는 누락된 값이 아닌 빈 목록을 제공하므로 나는 이렇게 기대합니다. 누락() 0을 반환합니다. 이상하게 빈 리스트에 적용하면 누락() 부울 함수의 예상 출력인 0이나 1이 아닌 빈 목록을 반환합니다. JMP 9에서 어떻게 작동하는지 잘 모르겠습니다.
나는 당신이 사용하는 것이 좋습니다 N개 항목() 대신 . 예를 들어:
ㅜㅜ = ( 항목 ( _파일 ) > 0 ) ;
사용하는 경우 누락() NOT 연산자(예: !Is Missing())를 사용하여 0과 1 사이를 전환할 수 있습니다.