⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 set.m

📁 M2HTML by itself generates an HTML documentation of Matlab M-files in the current directory.
💻 M
字号:
function tpl = set(tpl,action,varargin)%TEMPLATE/SET Edit data stored in a Template object%  TPL = SET(TPL,ACTION,VARARGIN)%     ACTION 'root'%     ACTION 'unknowns'%     ACTION 'file'%     ACTION 'block'%     ACTION 'var'%  Copyright (C) 2003 Guillaume Flandin <Guillaume@artefact.tk>%  $Revision: 1.0 $Date: 2003/05/05 22:19:51 $error(nargchk(3,5,nargin));switch lower(action)	case 'root'		error(nargchk(3,3,nargin));		if exist(varargin{1},'dir')			tpl.root = varargin{1};		else			error('[Template] No such directory.');		end	case 'unknowns'		error(nargchk(3,3,nargin));		if ismember(varargin{1},{'remove' 'comment' 'keep'})			tpl.unknowns = varargin{1};		else			error('[Template] Unknowns: ''remove'', ''comment'' or ''keep''.');		end	case 'file'		error(nargchk(4,4,nargin));		if iscellstr(varargin{1})			for i=1:length(varargin{1})				ind = find(ismember(tpl.handles,varargin{1}{i}));				if isempty(ind)					tpl.handles{end+1} = varargin{1}{i};					if strcmp(varargin{2}{i}(1),filesep) %- absolute path (Unix)						tpl.file{end+1} = varargin{2}{i};					else %- relative path						tpl.file{end+1} = fullfile(tpl.root,varargin{2}{i});					end				else					if strcmp(varargin{2}{i}(1),filesep) %- absolute path (Unix)						tpl.file{ind} = varargin{2}{i};					else %- relative path						tpl.file{ind} = fullfile(tpl.root,varargin{2}{i});					end				end			end		elseif ischar(varargin{1})			tpl = set(tpl,'file',cellstr(varargin{1}),cellstr(varargin{2}));		else			error('[Template] Badly formed handles.');		end	case 'block'		error(nargchk(4,5,nargin));		tpl = loadtpl(tpl,varargin{1});		if nargin == 4			name = varargin{2};		else			name = varargin{3};		end		str = get(tpl,'var',varargin{1});		blk = '';		%- look like this (keep the same number (1) of spaces between characters!)		%  <!-- BEGIN ??? -->		%  <!-- END ??? -->				%%%%%%%%%%%%%%%%%%%%%%%%% WIH REGEXP %%%%%%%%%%%%%%%%%%%%%%%%		% reg = ['<!--\s+BEGIN ' varargin{2} '\s+-->(.*)\n\s*<!--\s+END ' varargin{2} '\s+-->'];		% [b, e] = regexp(str,reg,'once');		% if ~isempty(b), blk = str(b:e); end %- should also remove BEGIN and END comments		% str = regexprep(str,reg,['{' name '}']);		%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%				%%%%%%%%%%%%%%%%%%%%%% WIHTOUT REGEXP %%%%%%%%%%%%%%%%%%%%%%%		indbegin = findstr(str,['<!-- BEGIN ' varargin{2} ' -->']);		indend   = findstr(str,['<!-- END ' varargin{2} ' -->']);		if ~isempty(indbegin) & ~isempty(indend)		   blk = str(indbegin+length(['<!-- BEGIN ' varargin{2} ' -->'])+1:indend-1);		   str = [str(1:indbegin-1) '{' name '}' str(indend+length(['<!-- END ' varargin{2} ' -->'])+1:end)];		end		%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%				tpl = set(tpl,'var',varargin{2},blk);		tpl = set(tpl,'var',varargin{1},str);	case 'var'		error(nargchk(3,4,nargin));		if iscellstr(varargin{1})			for i=1:length(varargin{1})				ind = find(ismember(tpl.varkeys,varargin{1}{i}));				if isempty(ind)					tpl.varkeys{end+1} = varargin{1}{i};					if nargin == 4						tpl.varvals{end+1} = varargin{2}{i};					else						tpl.varvals{end+1} = '';					end				else					tpl.varvals{ind} = varargin{2}{i};				end			end		elseif ischar(varargin{1})			tpl = set(tpl,'var',cellstr(varargin{1}),cellstr(varargin{2}));		else			error('[Template] Badly formed variable names.');		end	otherwise		error('[Template] Unknown action to perform.');end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -