взлом

Открытая медицинская библиотека

Статьи и лекции по медицине ✚ Библиотека студента-медика ✚ Болезни и способы их лечения.

Хирургия Error( 'Must be 2 return values' )
просмотров - 300

End

Осуществлённые нами проверки приводят к тому, что функцию можно вызвать только с правильным числом входных параметров и возвращаемых значений. При этом ранее мы встречались со встроенными функциями системы MATLAB, которые могли быть вызваны с разным числом входных параметров ( и это очень типично ). В результате фактически разные работы бликого типа выполняются под одним и тем же именем функции, что весьма наглядно и удобно. Таковой, к примеру, является функция plot, имя которой говорит о построении графиков функций. В случае если бы разные варианты вызовов этой функции пришлось бы осуществлять под разными именами, то от наглядности не осталось бы и следа.

Подведём итог этим рассуждениям: когда функция допускает многовариантность работы при разном числе входных аргументов, это нужно предусмотреть при проверках их числа, и вместо прекращения работы функции осуществить разные ветви выполнения. То же касается и числа возвращаемых значений. В определœении функции при этом нужно использовать максимально возможное число как первых, так и вторых. Так, функция

function [ res1, res2] = TestFunc2( var1, var2 ) switch nargin case 1 if nargout == 1, res1 = var1 * 2; elseif nargout == 2, res1 = var1 * 2; res2 = var1 + 3; else error( 'Must be 1 or 2 return values' ); end case 2 if nargout == 1, res1 = var1 .* var2; elseif nargout == 2, res1 = var1 .* var2; res2 = var1 + 3; else error( 'Must be 1 or 2 return values' ); end otherwise error( 'Must be 1 or 2 parameters' ); end