フィルターのクリア

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.
  1 件のコメント
Andrew Williams
Andrew Williams 2017 年 4 月 15 日
How would you set the condition to prevent someone from not putting an end apostrophe on their string input?

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeLogical についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by