How can I make a function restart if a string input by a user is not terminated properly instead of it breaking the code with an error?

1 次查看(过去 30 天)
I am new to this software and I understand that this is an elementary question. An example of what I'm trying to figure out is this:
function [n]=name
n=input('Please enter your name')
If the user enters 'Name and leaves it like that, the code will break. How do I make it restart the function to take the input again?

采纳的回答

Steven Lord
Steven Lord 2017-4-15
You want the user to enter a name, not some code that's evaluated to generate a name. In that case, call the input function with the 's' flag as shown in the second section of the Description and the second Example on that function's documentation page.

更多回答(1 个)

the cyclist
the cyclist 2017-4-15
One way would be to write the function with a while loop, something like this
function [n] = name
n = '';
while <some condition that you specify for _n_ goes here>
n=input('Please enter your name')
end
end
The while loop will keep repeating until the user puts something that meets your condition.

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by