view m-toolbox/classes/+utils/@prog/yes2true.m @ 24:056f8e1e995e
database-connection-manager
Properly record history in fromRepository constructors
author |
Daniele Nicolodi <nicolodi@science.unitn.it> |
date |
Mon, 05 Dec 2011 16:20:06 +0100 (2011-12-05) |
parents |
f0afece42f48 |
children |
|
line source
function out = yes2true(in)
% YES2TRUE converts strings containing 'yes'/'no' into boolean true/false
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% DESCRIPTION: YES2TRUE converts:
% - strings containing 'yes'/'no' into boolean true/false
% - strings containing 'true'/'false' into boolean true/false
% - double containing 1/0/-1 etc into boolean true/false
%
% CALL: out = yes2true(in)
%
% INPUTS: in - the variable to scan (may be a boolean, a double, or a
% string)
%
% OUTPUTS: out - a boolean value calculated according to the following
% table:
% INPUT CLASS INPUT VALUE OUTPUT VALUE
% boolean true true
% boolean false false
% string 'true' true
% string 'false' false
% string 'yes' true
% string 'no' false
% double >= 1 true
% double <= 0 false
% empty empty false
%
% EXAMPLE: >> pl = plist('variance', 'yes');
% >> v = find(pl, 'variance');
% >> yes2true(v)
% ans =
% 1
%
% VERSION: $Id: yes2true.m,v 1.3 2010/03/23 14:31:27 mauro Exp $
%
% HISTORY: 29-04-2009 M Hueller
% Creation
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
if isempty(in)
out = false;
elseif ischar(in)
switch lower(in)
case {'yes', 'true', 'on', 'y', '1'}
out = true;
case {'no', 'false', 'off', 'n', '0', '-1'}
out = false;
otherwise
error('Unknown option %s', in);
end
elseif isfloat(in)
out = (in > 0);
elseif islogical(in)
out = in;
else
error('Unsupported type %s', class(in));
end
% END