or-function with switch
显示 更早的评论
Can you not use or in one of the cases for switch. I tried here but it did not call it at all:
I know about the case {2, 3} possibility just wondered about if or is a possibility here
here is my function:
function grade=switchletgrade1(quiz)
if quiz<0 ||quiz>4
grade='X'
else
switch quiz
case 3 || 2
grade='B'
case 4
grade='A'
otherwise
grade='C'
end
end
end
采纳的回答
更多回答(1 个)
William
2011-10-15
It works. You had one too many "end" statements. You might want to make it a little bit more stable by using more "=<" statements in the switch statement otherwise a 3.4 is going to be a "C"
function grade=switchletgrade1(quiz)
if quiz<0 ||quiz>4
grade='X'
else
switch quiz
case 3 || 2
grade='B'
case 4
grade='A'
otherwise
grade='C'
end
end
1 个评论
Walter Roberson
2011-10-15
Tor does *not* have too many 'end' statements. Refer to the documentation for "function", which says,
You can terminate any type of function with an end statement, but doing so is not required unless the file containing the function also contains one or more nested functions. Within this file, every function (including primary, nested, private, and subfunctions) must be terminated with an end.
类别
在 帮助中心 和 File Exchange 中查找有关 Adding custom doc 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!