我試圖創建一個while循環,該循環將持續循環,直到用戶在命令行輸入爲止。Matlab命令行中用戶輸入循環中斷/停止
我試過這個第一個的兩個實現,第一個來自python這個位。問題在於,每次要循環遍歷時,都必須輸入非退出的內容。
global active
active = true;
while active == true
userInput = input('enter: ','s');
inputHandler(userInput)
disp(rand)
pause(1);
end
function inputHandler(value)
global active
if value == 'exit'
active = false;
end
end
第二是
global loopFlag
loopFlag = true
while loopFlag == true
%some awesome code happens here
end
的想法是,你可以在命令行中輸入loopFlag = false
在代碼正在執行,將停止。 我知道這可以通過使用toggle button來完成,但我寧願不必去那條路線,除非絕對必要。
那麼第一次執行有什麼問題? –
@LuisMendo每次你想循環時都必須輸入一些東西。我需要循環自行運行,直到它看到來自命令行的輸入 –
我不知道命令窗口檢測按鍵的方式,除了「輸入」,正如你所看到的停止程序在等待輸入時執行。你也許可以創建一個圖形並設置其'WindowKeyPressFcn',以便它將'UserData'從true更改爲false。然後,程序中的while循環將會在獲得(figureHandle,'UserData')' –