Contradiction of variable existence
조회 수: 1 (최근 30일)
이전 댓글 표시
Hello,
I met following situation. In workspace exist some string variable strF. I need to verify its existence and if it is not present, I should perform some actions. But I have following contradiction:
~exist(strF,"var") gives me logical 1, which means that strF don't exist. This is not correct.
But if I run command
exist strF
I have 1, that means that this variable exist. But when I try to realize this infomation by something like
TT = exist(strF) gives me 0!
How correctly determine existence of this variable?
댓글 수: 6
Voss
2024년 2월 15일
편집: Voss
2024년 2월 15일
Yes, the name of the variable, not the value of the variable. Name implies it's in quotes, when using function syntax! Did you follow the example I ran through in this comment?
채택된 답변
Voss
2024년 2월 15일
Use:
~exist("strF","var")
댓글 수: 2
Voss
2024년 2월 15일
You must supply exist with the name of the variable to check for.
This is what you were doing:
strF = "some_string";
% this checks for a variable called "some_string", which is the value of
% strF, but no variable called "some_string" exists
exist(strF,"var")
some_string = 99; % now "some_string" exists, so
exist(strF,"var") % this returns true (1)
As opposed to:
clear("strF") % clear strF
exist("strF","var") % strF doesn't exist now
strF = "some_string"; % now it does
exist("strF","var") % and exist shows that
some_string = 99; % and it doesn't matter about "some_string"
exist("strF","var") % because now exist is checking for a variable called "strF"
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Data Type Identification에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!