Я пытаюсь ограничить область возможных входных данных на фигуре 'y' и 'n' в цикле while в Matlab.Однако приведенный ниже код не работает так, как должен (по крайней мере, на мой взгляд).
answ = get(fig, 'CurrentCharacter');
while answ ~= 'n' & answ ~= 'y'
answ = get(fig, 'CurrentCharacter');
end
Как мне добиться желаемого поведения?Кажется, только первый ввод перехватывается get.Когда я отображаю переменную, цикл просто продолжается вечно, даже если символ ответа явно равен 'n' или 'y' и не изменяется при последующих нажатиях клавиш.Кроме того, иногда фигура исчезает, и ввод начинает захватываться терминалом.Кажется, выполнение кода в командном окне приводит к желаемому поведению:
>> answ
answ = n
>> answ ~= 'n' & answ ~= 'y'
ans = 0
answ = x
>> answ ~= 'n' & answ ~= 'y'
ans = 1