gusucode.com > datatypes 工具箱matlab源码程序 > datatypes/+matlab/+internal/+tableUtils/makeValidName.m

    function [validNames, modified] = makeValidName(names, modException, varargin)
%MAKEVALIDNAME Construct valid MATLAB identifiers from input names
%   MAKEVALIDNAME is a private function for table that wraps around
%   MATLAB.LANG.MAKEVALIDNAME. It adds exception control for when
%   input names contains invalid identifier.
%
%   VARNAMES = MAKEVALIDNAME(NAMES, MODEXCEPTION) returns valid 
%   identifiers, VARNAMES, constructed from the input NAMES. NAMES is 
%   specified as a character vector or a cell array of character vectors. 
%
%   MODEXCEPTION controls warning or error response when NAMES contains 
%   invalid MATLAB identifiers. Valid values for MODEXCEPTION are 'silent',
%   'warn' and 'error', respectively meaning no warning/error, a warning or
%   an error will be thrown when NAMES contain invalid identifiers.
%
%   See also MATLAB.LANG.MAKEVALIDNAME

%   Copyright 2013-2016 The MathWorks, Inc.

% imports
import matlab.internal.tableUtils.warningWithoutTrace;

[validNames, modified] = matlab.lang.makeValidName(names, varargin{:});

if any(modified)        
    % Find first modified name
    firstModifiedName = names;
    if iscell(names)
        firstModifiedName = names{find(modified,1)};
    end
    switch modException % error or warn per level specified
    case 'silent'
        % makeValid without throwing any exception
    case {'varnamesWarn' 'warn'}
        warningWithoutTrace(message('MATLAB:table:ModifiedVarnames'));
    case 'dimnamesWarn'
        warningWithoutTrace(message('MATLAB:table:ModifiedDimnames',firstModifiedName));
    case {'varnamesError' 'error'}
        error(message('MATLAB:table:VariableNameNotValidIdentifier',firstModifiedName));
    case 'dimnamesError'
        error(message('MATLAB:table:DimNameNotValidIdentifier',firstModifiedName));
    otherwise
        assert(false);
    end
end
end