Я использую try
, чтобы избежать ошибки Index exceeds matrix dimensions.
при просмотре списка файлов. Он делает то, что я ожидаю от него:, используя попытку установить условие a, если в MATLAB
>> try strcmp(listFiles(6).name(1:9), 'file_name') , catch false, end
ans =
1
>> try strcmp(listFiles(5).name(1:9), 'file_name') , catch false, end
ans =
0
Однако, если я хочу использовать его внутри if
как условие следующим образом:
path = 'folder';
listFiles = dir(path);
for i = 1:length(listFiles)
if (try strcmp(listFiles(i).name(1:9), 'file_name') , catch false, end)
[...]
end
end
он возвращает следующую ошибку invalid used of a reserved word
.
Есть ли способ заставить его внутри или мне нужно использовать независимую переменную?
Do в '' try' первый попробовать s = зЬгстр (...), поймать ... end' затем сделать свой 'if',' если s, ..., end'. – David
Да, вот что я делаю, есть ли способ избежать этой независимой переменной? –
Есть ли какая-то конкретная причина, по которой вы хотите избежать дополнительной переменной? – David