Effacer les filtres
Effacer les filtres

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 vue (au cours des 30 derniers jours)
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?

Réponse acceptée

Steven Lord
Steven Lord le 15 Avr 2017
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.

Plus de réponses (1)

the cyclist
the cyclist le 15 Avr 2017
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.
  1 commentaire
Andrew Williams
Andrew Williams le 15 Avr 2017
How would you set the condition to prevent someone from not putting an end apostrophe on their string input?

Connectez-vous pour commenter.

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by