comparison yesnoQuestion.m @ 11:0c166d195f58

Allowed no defult answer in yesnoQuestion.m
author Jonatan Werpers <jonatan@werpers.com>
date Mon, 21 Sep 2015 18:01:57 +0200
parents 9551f4e7cb66
children
comparison
equal deleted inserted replaced
10:9551f4e7cb66 11:0c166d195f58
1 function b = yesnoQuestion(question, defaultAnswer) 1 function b = yesnoQuestion(question, defaultAnswer)
2 default_arg('defaultAnswer','y'); 2 default_arg('defaultAnswer','nodefault');
3 3
4 yesAnswer = {'y','Y','yes','Yes','YES'}; 4 yesAnswer = {'y','Y','yes','Yes','YES'};
5 noAnswer = {'n','N','no','No','NO'}; 5 noAnswer = {'n','N','no','No','NO'};
6 6
7 switch defaultAnswer 7 switch defaultAnswer
8 case 'nodefault'
9 optionString = '[y/n]';
8 case yesAnswer 10 case yesAnswer
9 optionString = '[Y/n]'; 11 optionString = '[Y/n]';
10 yesAnswer{end+1} = ''; 12 yesAnswer{end+1} = '';
11 case noAnswer 13 case noAnswer
12 optionString = '[y/N]'; 14 optionString = '[y/N]';
15 error('Unrecognized default answer: %s', defaultAnswer); 17 error('Unrecognized default answer: %s', defaultAnswer);
16 end 18 end
17 19
18 b = []; 20 b = [];
19 while isempty(b) 21 while isempty(b)
20 answer = input([question ' ' optionString ':'],'s'); 22 answer = input([question ' ' optionString ': '],'s');
21 switch answer 23 switch answer
22 case yesAnswer 24 case yesAnswer
23 b = true; 25 b = true;
24 case noAnswer 26 case noAnswer
25 b = false; 27 b = false;