% argumentHandling.m: Degisken arguman/girdi sayisina ve degiskenlerin
% turune gore islem yapmaya dair temel ornek.
%
% MATLAB'da calisirken girilecek parametre sayisini sabitlemek
% istemezsek fonksiyon'a girdi parametresi olarak varargin yazilir. nargin
% ise kac adet parametre verildigini gosterir.
%
% Girdiler: varargin -> Herhangi bir sayidaki girdi
%
% Cikti: Yok
%
% Ornek:
% argumentHandling(1 ,[5 8],2+5i,'abc',{1,'def'},logical(2==5), uint8(5))
%
function argumentHandling( varargin )
display([int2str(nargin) ' adet parametre girdiniz.'])
for i = 1:nargin
display(['--> ' int2str(i) '. girdinin sinifi: ' class(varargin{i})])
% Sinifina gore muamele :)
switch class(varargin{i})
case 'double'
display([' Degeri: ' num2str(varargin{i})])
case 'char'
display([' Degeri: ' varargin{i}])
case 'logical'
if varargin{i}, deger = 'Dogru';, else, deger = 'Yanlis';, end
display([' Degeri: ' deger])
case 'cell'
display([' Hucre tipinin deger gosterimi pas gecildi.'])
otherwise
display([' Tanimlanmayan tipin deger gosterimi pas gecildi.'])
end
end