阅读与TLC记录文件
教程概述
摘要目的:理解记录文件的结构,学习如何用TLC指令解析。
文件夹:
(开放)matlabroot
/工具箱/ rtw / rtwdemos tlctutorial /指南
在本教程中你解释简单的结构化文件记录一系列的TLC脚本。您将学习如何构建记录,以及薄层色谱%分配
和% < >
令牌扩张指令是用来处理它们。此外,本教程展示了循环使用% foreach
,范围使用%,
。
本教程包括了这些步骤,你应该遵循顺序:
记录文件的结构——一些背景和一个简单的例子
解释记录——记录文件的内容
薄层色谱分析脚本——解构表示
修改
read-guide.tlc
——实验与薄层色谱通过和使用一个参数——通过TLC文件从命令行参数
审查
记录文件的结构
代码生成器将模型编译为一个结构化的形式称为记录文件,称为
。这样编译模型文件相似的语法和组织源模型文件,因为它们包含一系列的层级结构嵌套的记录表单模型
.rtw
recordName {itemName itemValue}
项目名称字母。项的值可以是字符串或数字。数值可以是标量、向量或矩阵。花括号出发每个记录的内容,这可能包含一个或多个项目,分隔空间,选项卡,或返回字符。
在一个
文件,顶层(第一个)记录的名字是模型
.rtwCompiledModel
。每一块由subrecord表示,被阻止的名字。薄层色谱可以解析格式良好的记录文件,因为这说明锻炼。
下面的清单是一个有效的记录文件,薄层色谱可以解析,虽然不是一个它可以生成代码。评论是由一个井号(#):
# #文件:指南。rtw说明性的记录文件,该文件不能用仿真软件#注:字符串值必须在报价前{#外层的记录称为前日期“21 - 金宝app8月- 2008”号命名名称/值对。日期员工{#嵌套在上面记录FirstName“亚瑟”# Top.Employeeα字段。FirstName姓“削弱”# Top.Employeeα字段。1.78 #数字字段Top.Employee LastName开销。开销PayRate Top.Employee 11.50 #数字领域。PayRate GrossRate Top.Employee 0.0 #数字领域。GrossRate} #员工记录NumProject年底3 #表示长度的列表项目{#第一个列表项,称为最高。项目[0]名称“茶”#α字段名,Top.Project [0]。名字困难3 #数字字段Top.Project [0]。困难}#第一个列表项项目年底{#第二个列表项,称为最高。项目[1]的名字“Gillian”#α字段名,Top.Project [1]。名字困难8 #数字字段Top.Project [1]。困难}#结束第二个列表项项目{#第三个列表项,称为最高。项目[2]的名字“Zaphod”#α字段名,Top.Project [2]。名字困难10 #数字字段Top.Project [2]。困难}#结束第三个列表项} # End of Top record and of file
只要程序员知道记录和字段的名字,以及他们的预期内容,他们可以组成TLC语句读、解析和操作记录文件数据。
解释记录
这里的输出是一个薄层色谱程序脚本读取guide.rtw
,解释其记录、操纵字段数据和格式描述,针对MATLAB®命令窗口:
使用薄层色谱可以:*直接访问字段的值,例如% <最高。日期>——评估:"21-Aug-2008" * Assign contents of a field to a variable, e.g. "%assign worker = Top.Employee.FirstName" worker expands to Top.Employee.FirstName = "Arthur" * Concatenate string values, e.g. "%assign worker = worker + " " + Top.Employee.LastName" worker expands to worker + " " + Top.Employee.LastName = "Arthur Dent" * Perform arithmetic operations, e.g. "%assign wageCost = Top.Employee.PayRate * Top.Employee.Overhead" wageCost expands to Top.Employee.PayRate * Top.Employee.Overhead <- 11.5 * 1.78 = 20.47 * Put variables into a field, e.g. Top.Employee.GrossRate starts at 0.0 "%assign Top.Employee.GrossRate = wageCost" Top.Employee.GrossRate expands to wageCost = 20.47 * Index lists of values, e.g. "%assign projects = Top.Project[0].Name + ", " + Top.Project[1].Name..." "+ ", " + Top.Project[2].Name" projects expands to Top.Project[0].Name + ", " + Top.Project[1].Name + ", " + Top.Project[2].Name = Tea, Gillian, Zaphod * Traverse and manipulate list data via loops, e.g. - At top of Loop, Project = Tea; Difficulty = 3 - Bottom of Loop, i = 0; diffSum = 3.0 - At top of Loop, Project = Gillian; Difficulty = 8 - Bottom of Loop, i = 1; diffSum = 11.0 - At top of Loop, Project = Zaphod; Difficulty = 10 - Bottom of Loop, i = 2; diffSum = 21.0 Average Project Difficulty expands to diffSum / Top.NumProject = 21.0 / 3 = 7.0
这个输出guide.rtw
是由调用MATLAB命令窗口TLC,执行一个脚本叫什么read-guide.tlc
。你现在这样做,通过以下步骤:
在MATLAB中,改变文件夹(
cd
你的副本)tlctutorial /指南
在您的工作目录中。产生的输出就上市,过程
guide.rtw
用TLC脚本read-guide.tlc
通过输入以下命令:薄层色谱- v - r指南。rtw read-guide。tlc
请注意命令用法:
的
- r
开关(读)确定输入数据文件,在这种情况下guide.rtw
。TLC脚本处理指定的数据文件最后一个令牌类型。
的
- v
(详细)指导输出切换到命令窗口,除非这个本身TLC文件句柄。
薄层色谱分析脚本
你现在解剖脚本就跑。每个输出的“段落”guide.tlc
在序列在以下简短的讨论部分:
代码编写约定
这些都是一些基本的TLC语法和编码惯例:
% %的评论 |
TLC评论,不输出 |
/ *注释* / |
评论,输出 |
%的关键字 |
TLC指令(关键字),从“% ” |
% < expr > |
TLC令牌运营商 |
。 (期) |
作用域运算符,例如,Top.Lev2.Lev3 |
… (行尾) |
声明继续(换行不输出) |
\ (行尾) |
语句延续(输出换行符) |
localvarIdentifier |
局部变量以小写字母开始 |
GlobalvarIdentifier |
全局变量在大写字母开始 |
RecordIdentifier |
记录标识符开始使用大写 |
存在() |
TLC内置函数使用大写命名 注意:TLC标识符是区分大小写的。 |
为进一步的信息,请参阅TLC编码惯例。
文件头
该文件read-guide.tlc
开始于:
% %文件:read-guide。薄层色谱(tlc评论这条线,将不打印)% % % %执行这个文件,类型:tlc - v - r指南。rtw read-guide.tlc% %Set format for displaying real values (default is "EXPONENTIAL") %realformat "CONCISE"
行1到4 -文本后在一行字符
% %
被当作一个评论(忽视,不解释或输出)。第5行,第四行文本的解释说,是TLC指令(关键字)
% realformat
控制后续的浮点数格式化时如何显示在输出中。这里我们想减少数字显示。
令牌扩张
第一部分脚本生成的输出线:
使用薄层色谱可以:*直接访问字段的值,例如%分配td =“%”+“<。日期> % < td >——评估:“% < Top.Date >”
1和2 -(行和行不包含TLC指令或令牌)只是回荡到输出流,包括首尾空格。
3 -行创建一个变量命名
道明
并指定字符串值% < Top.Date >
到它。的%分配
指令创建新的和修改现有的变量。一般的语法是:%分配::变量=表达式
第4行:显示
% < Top.Date >-- evaluates to:
% < Top.Date >
没有扩大。这两个文本结构的字符串粘贴在一起。%分配td =“%”+“< Top.Date >”
行5 -评估(扩大)备案
Top.Date
。更准确地说,它评估日期
它存在于范围前
。的语法% < expr >
导致表达expr
(可以是一个记录,一个变量,或一个函数)被评估。这个操作有时被称为一个eval。
请注意
你不能嵌套% < expr >
操作符(即% < foo % <吧> >
是不允许的)。
请注意
当你使用% < expr >
运营商在引号内,例如,“% < Top.Date >”
薄层色谱展开表达式,然后包含引号中的结果。然而,将%分配
在引号内,例如,“%分配foo = 3”
,只是回应声明包含在引号输出流。没有分配结果(的价值喷火
保持不变或未定义)。
一般作业
第二部分的脚本生成的输出线:
*一个字段的内容分配给一个变量,例如% = Top.Employee分配工人。FirstName“% = Top.Employee分配工人。FirstName" worker expands to Top.Employee.FirstName = %
1号线-响应输出。
行2 -赋值的字段
FirstName
在Top.Employee
记录一个新的局部变量称为范围工人
。行3 -重复前面的语句,产生输出通过将它包含在引号。
4号线——解释下面的赋值,说明了令牌的扩张。令牌
% <工作>
扩大到亚瑟
。
字符串处理+
脚本的下一节说明了字符串连接,其中一个使用的“+
"操作符:
*连接字符串值,例如%分配职工=职工+ " " + Top.Employee。姓“%分配工人=工人+ " + Top.Employee。姓“工人扩大工人+ " + Top.Employee。LastName = " % <工作> "
1号线-响应输出。
行2 -执行连接。
3 -回声线2的输出。
4号线——描述了操作,一个变量的连接字段之间用一个空格来分隔字符。另一种方法,不使用
+
运营商是%分配工人= " % < Top.Employee。FirstName> %
"
的+
运营商,这是联想,也适用于数字类型,向量,矩阵,并记录:
数值类型,添加两个表达式;这两个操作数必须是一个数字。例如:
*数字类型的例子,例如Top.Employee。PayRate = % < Top.Employee。PayRate > Top.Employee。= % < Top.Employee开销。> %分配td = Top.Employee开销。PayRate + Top.Employee。GrossRate td = Top.Employee。PayRate + Top.Employee。开销td等于% < td >
*数字类型的例子,例如Top.Employee。PayRate = 11.5 Top.Employee。= 1.78 td = Top.Employee开销。PayRate + Top.Employee。开销td等于13.28
向量,如果第一个参数是一个矢量,第二个是一个标量值,TLC附加标量值向量。例如:
*矢量的例子,例如%分配v1 = [0, 1, 2, 3] v1 % < v1 > %分配tp1d = Top.Project [1]。困难Top.Project [1]。困难是% < tp1d > %分配v2 = v1 + v2 tp1d = v1 + Top.Project [1]。困难v2评估:% < v2 >
*矢量的例子,例如v1是[0,1,2,3]Top.Project [1]。困难是8 v1 + v2 = Top.Project [1]。困难v2评估:[0、1、2、3、8]
矩阵——如果第一个参数是一个矩阵,第二个是一个向量的矩阵的列宽,TLC附加与另一个行向量矩阵。例如:
*矩阵的例子,例如%分配mx₁= [(4、5、6、7);(8、9、10、11)]mx₁% < mx₁> v1是% < v1 > %分配mx = mx₁+ v1 mx = mx₁+ mx等于% < mx >
*矩阵的例子,例如mx₁是[[4、5、6、7);(8、9、10、11]]v1是[0,1,2,3]mx = mx₁+ v1 mx评估[(4、5、6、7);(8、9、10、11);[0,1,2,3]]
——如果第一个参数是一个记录,记录TLC添加第二个参数作为参数标识符(其当前值)。例如:
*记录的例子,例如%分配StartDate可以=”2008年8月28日,“StartDate可以% < StartDate可以> %分配tsd =最高+ StartDate可以顶+ StartDate可以。StartDate可以等于% < Top.StartDate >
*记录的例子,例如StartDate可以是2008年8月28日,最高+ StartDate可以。StartDate可以等于2008年8月28日
算术运算
TLC提供了一个完整的数字数据的算术运算符。在接下来的部分我们的TLC脚本,增加两个数值字段:
*执行算术运算,例如%分配wageCost = Top.Employee。PayRate * Top.Employee。“%分配wageCost = Top.Employee开销。PayRate * Top.Employee。“wageCost扩大Top.Employee开销。PayRate * Top.Employee。开销……< - - - - - - % < Top.Employee。PayRate > < Top.Employee * %。开销> = % < wageCost >
1号线-响应输出。
行2 -
%分配
计算值的语句,TLC存储在本地变量wageCost
。行3 -操作在第2行。
行4和5 -组成一条语句。省略(输入连续三期,例如,
…
)信号,声明中继续下面的线,但如果语句输出,TLC不插入换行符。继续发表声明和插入一个换行符,将省略替换为一个反斜杠(\
)。
修改记录
一旦读入内存,您可以修改您创建和操作记录就像变量赋值。下一段read-guide.tlc
替换记录字段的值Top.Employee.GrossRate
:
*把变量放在一个字段,例如%分配Top.Employee。GrossRate = wageCost " %分配Top.Employee。Top.Employee GrossRate = wageCost”。GrossRate扩大wageCost = % < Top.Employee.GrossRate >
这种记录非持久的变化(因为记录文件输入薄层色谱;其他文件类型,如C源代码,输出),但可能是有用的。
您可以使用几个TLC指令除了%分配
修改记录:
% createrecord |
创造新的顶级记录,也可以指定subrecords,包括名称/值对。 |
% addtorecord |
将字段添加到一个现有的记录。可以将新字段名称/值对现有记录或别名。 |
% mergerecord |
结合一个或多个记录。第一个记录包含本身加上其他记录的副本内容指定的命令,在序列。 |
% copyrecord |
创建一个新的记录% createrecord 确实,除了来自现有记录的组件指定。 |
% undef var |
删除(删除)var (变量或记录)范围。如果var 记录的某个字段中,薄层色谱从记录中删除字段。如果var 是一个记录数组(清单),TLC删除数组的第一个元素;其余元素仍然是可以访问的。你只可以删除你创建记录% createrecord 或% copyrecord 。 |
看到目标语言编译器指令有关这些指令。
指数列表
记录文件可以包含列表,或记录序列有相同的标识符。我们的示例包含一个标识为三个列表记录项目
在前
范围。引用索引列表,编号从0,在它们出现的顺序记录文件。这是TLC代码编译数据的名字
场的项目
列表:
*指数的值列表,如%分配项目= Top.Project [0]。名+”、“+ Top.Project [1] . Name……+”、“+ Top.Project [2]。的名字“%分配项目= Top.Project [0]。名+”、“+ Top.Project [1]。的名字…" "+ ", " + Top.Project[2].Name" projects expands to Top.Project[0].Name + ", " + Top.Project[1].Name + ", " + Top.Project[2].Name = %
的Scope.Record [n] .Field
语法类似于C引用数组元素的结构。
而明确的索引,如上述,是完全可以接受的,它通常比使用一个循环构造当遍历整个列表,如图所示遍历列表。
遍历列表
按照惯例,记录文件的部分占据之前记录列表显示多少列表元素。在
文件,等参数声明模型
.rtw全国矿工工会
,在那里鉴别
标识符用于记录在列表中。在鉴别
guide.rtw
,项目
列表看起来像这样:
NumProject 3 #表示长度的列表项目{#第一个列表项,称为最高。项目[0]名称“茶”#α字段名,Top.Project [0]。名字困难3 #数字字段Top.Project [0]。困难}#第一个列表项项目年底{#第二个列表项,称为最高。项目[1]的名字“Gillian”#α字段名,Top.Project [1]。名字困难8 #数字字段Top.Project [1]。困难}#结束第二个列表项项目{#第三个列表项,称为最高。项目[2]的名字“Zaphod”#α字段名,Top.Project [2]。名字困难10 #数字字段Top.Project [2]。困难}#结束第三个列表项
因此,的价值NumProject
描述了有多少项目
记录发生。
请注意
model.rtw
文件也可以包含记录开始全国矿工工会
但不列表大小的参数。TLC不需要尺寸参数列表开始全国矿工工会
。因此你需要谨慎的解释全国矿工工会
记录标识符。内置的TLC函数鉴别
尺寸()
可以确定的数量记录在指定的范围内,因此一个列表的长度。
的最后一段read-guide.tlc
使用一个% foreach
循环,控制的NumProject
参数,进行迭代项目
列表和操纵其价值观。
*通过循环遍历和操作列表数据,例如%分配diffSum foreach我= = 0.0%。NumProject——在循环,项目= % < Top.Project[我]. name >;困难=…% < Top.Project[我]。困难> %分配diffSum = diffSum + Top.Project[我]。困难——循环的底部,我= % <我>;diffSum = % < diffSum > % endforeach %分配avgDiff = diffSum /。NumProject平均项目困难扩大diffSum /。NumProject = % < diffSum >…/ % <。全国矿工工会项目> = %
您可能还记得,TLC输出看起来像这样:
*通过循环遍历和操作列表数据,例如,在循环,项目=茶;困难= 3 -环的底部,我= 0;diffSum = 3.0 -在循环,项目= Gillian;困难= 8 -底循环,i = 1;diffSum = 11.0 -在循环,项目= Zaphod;困难= 10 -循环的底部,我= 2;diffSum = 21.0平均项目困难扩大diffSum /。NumProjects = 21.0 / 3 = 7.0
diffSum
,一个% foreach
循环输入变量我
声明为循环计数器,迭代NumProject
。循环的范围都是直到遇到相应的语句% endforeach
达到(% foreach
循环嵌套)。
请注意
循环迭代隐式地从0开始,范围小于指定的指数上界。循环索引是本地循环体。
修改read-guide.tlc
现在您已经进行了研究read-guide.tlc
,是时候修改它。这个练习介绍两个重要的TLC设施,文件控制和范围控制。在你实现read-guide.tlc
脚本。
文件控制基础知识
TLC脚本几乎总是产生输出的字符流的形式。输出通常是针对一个或多个缓冲区和文件,统称为流。到目前为止,您已经直接输出read-guide.tlc
包括MATLAB命令窗口,因为你- v
在命令行开关。证明通过省略- v
当您运行read-guide.tlc
。类型
薄层色谱- r指南。rtw read-guide.tlc
似乎没有发生。事实上,脚本被执行死刑,但输出定向到一个空设备(有时称为“桶”)。
有一个活跃的输出文件,即使它是空的。指定,打开和关闭文件,使用以下TLC指令:
% openfile streamid = "文件名”、“模式”% closefile streamid % selectfile streamid
如果你不给一个文件名,随后的输出流的内存缓冲区streamid
。如果你不指定一个模式,TLC打开文件编写和删除任何现有的内容(系统级文件保护机制)。有效模式标识符一个
(附加)w
(写,默认)。附上这些字符引用。
的% openfile
指令/缓冲区(在创建一个文件w
模式),或打开一个现有的一个一个
模式)。注意所需的等于号文件规范。可以打开多个流写作,但一次只能激活一个。开关输出流,使用% selectfile
指令。你不需要关闭文件,直到你完成它们。
默认的输出流,它可以用流respecify IDNULL_FILE
,是零
。另一个内置流是STDOUT
。当激活使用% selectfile
,STDOUT
将输出到MATLAB命令窗口。
请注意
的流NULL_FILE
和STDOUT
永远是敞开的。指定用% openfile
生成错误。使用% selectfile
激活它们。
该指令% closefile
关闭当前输出文件或缓冲区。直到一个% openfile
或者一个% selectfile
遇到指令,输出到以前打开的流(或者,如果不存在,为null)。使用% selectfile
指定一个开放流阅读或写作。在实践中,许多TLC脚本编写的输出数据缓冲区,分开,然后一个序列中选择一个或多个文件及其内容后台打印。
实现输出文件控制
在你的tlctutorial /指南
文件夹,找到该文件read-guide-file-src.tlc
。提供的版本,这个文件包含注释和三行文本补充道。编辑这个文件来实现输出文件控制,如下:
开放
read-guide-file-src.tlc
在你的文本编辑器。将文件保存为
read-guide-file.tlc
。注意五个注释行
% % - >
。在这些评论,插入一个TLC指令表示。
保存编辑的文件
read-guide-file.tlc
。执行
read-guide-file.tlc
使用下面的命令:薄层色谱- r指南。rtw read-guide-file.tlc
如果你成功了,TLC创建该文件
guidetext.txt
它包含预期的输出和MATLAB命令窗口显示* * *输出被定向到文件:guidetext。txt * * *我们差不多做完了。* * *处理完成。
如果你没有看到这些消息,或者如果没有产生一个文本文件,审查材料,再试一次。如果问题依然存在,检查read-guide-file.tlc
在指导/解决方金宝搏官方网站案
子文件夹,看看你应该指定文件控制。
范围基本知识
记录文件的结构解释了分层组织的记录。每条记录存在一个范围内的嵌套定义的记录。示例文件,guide.rtw
包含以下范围:
前顶。员工。项目[0] Top.Project[1] Top.Project[2]
引用一个字段或一条记录,指定它的范围,即使没有其他上下文包含标识符的存在。例如,在guide.rtw
,这个领域FirstName
只存在于范围Top.Employee
。你必须引用它Top.Employee.FirstName
只要访问它。
当模型深度嵌套的作用域,这可能导致非常长标识符的繁琐和容易出错的类型。例如:
CompiledModel.BlockOutputs.BlockOutput.ReusedBlockOutput
这个标识符的范围很长,也有类似的项目名称,你可以很容易地输入错误。
的%和% endwith
指令简化了编码负担TLC脚本和澄清他们的控制流。语法
与RecordName % % endwith TLC语句
每一个%,
最终紧随其后的是一个吗% endwith
,这些可能对嵌套(但不重叠)。如果RecordName
低于最高水平,您不需要包含顶级范围的描述。例如,当前的范围guide.rtw
Top.Employee
,您可以指定
与员工(TLC语句)% % endwith
自然地,%与Top.Employee
也有效的语法。一旦被通过%和% endwith
在TLC报表,记录标识符不需要你指定他们的范围外。然而,请注意下列条件:
您可以访问记录之外的电流
%,
范围,但你必须完全符合他们(例如,使用记录名称和字段)。当你做作业记录内
%,
指令,必须完全符合他们。
变化范围使用%,
在这个练习的最后一部分,您修改TLC脚本通过添加%和% endwith
指令。您还需要编辑记录标识符名称(但不是局部变量)来解释产生的变化范围%,
指令。
打开TLC脚本
read-guide-scope-src.tlc
在文本编辑器中。将文件保存为
read-guide-scope.tlc
。注意开始的注释行
% % - >
。在这些评论,插入一个TLC指令或修改报表已经存在,表示。
保存编辑的文件
read-guide-scope.tlc
。执行
read-guide-scope.tlc
使用下面的命令:薄层色谱- v - r指南。rtw read-guide-scope.tlc
输出应该一模一样read-guide.tlc
的空白,除了可能你可能引入的缩进的代码内部%和% endwith
或通过消除空白行。
完全指定范围内%,
环境并不是一个错误,它仅仅是不必要的。然而,未能完全指定范围时将它分配给一个记录(例如,%分配GrossRate = wageCost
)是无效的。
如果错误的结果从运行脚本,检查上面的讨论范围和编辑read-guide-scope.tlc
消除它们。最后,检查read-guide-scope.tlc
在/金宝搏官方网站解决方案
子文件夹,看看你应该在这个练习处理范围。
有关更多信息,请参见作用域模型中。rtw文件和变量作用域。
通过和使用一个参数
你可以用TLC命令和内置函数将从命令行参数传递给TLC文件被执行。最一般的命令开关——一个
,分配任意变量。例如:
薄层色谱- r输入。rtw阿瓦尔人= 1 -afoo = vars.tlc“abc”
通过这条弦通过的结果——一个
是一样的声明和初始化局部变量在文件被执行(在这里,vars.tlc
)。例如:
%分配var = 1%分配foo =“abc”
你不需要声明这些变量在TLC文件中,并使用时设置——一个
。然而,错误的结果,如果代码分配未申报你没有指定的变量——一个
切换时调用该文件。还要注意,(形成鲜明对比- r
开关)空间不应该分开——一个
你声明的参数。
在本教程的最后一节中,您使用内置的函数GET_COMMAND_SWITCH ()
打印的记录文件的名称在薄层色谱中使用脚本,并提供一个参数来控制代码是否抑制。默认情况下,代码执行,但如果命令行包含抑制船向一边倾斜的= 0
:
打开TLC脚本
read-guide-param-src.tlc
在你的文本编辑器。将文件保存为
read-guide-param.tlc
。使你的程序能够从命令行访问输入文件名,做到以下几点:
线以下
% selectfile STDOUT
添加一行:%分配inputfile = GET_COMMAND_SWITCH (r)
的
%分配
指令声明并设置变量。在这个例子中,它拥有一个字符串文件名标识符。GET_COMMAND_SWITCH ()
返回任何字符串参数是指定的TLC命令开关。您必须使用大写为内置函数名称。改变线”
* * *与RECORDFILE合作
“阅读如下:* * *处理RECORDFILE % < inputfile >
控制是否一段TLC执行代码,执行以下操作:
以下线”
%分配inputfile = GET_COMMAND_SWITCH (r)
”,添加:%如果存在(!(列表))% = 1% endif分配列表
存在()
。如果不存在列表变量,程序分配一个。这个定义列表
和默认值真正的
。附上在一行代码
%如果
块。%如果(列表)*字段内容分配给一个变量,例如%分配工人= FirstName“%分配工人= FirstName”工人扩大FirstName = % <工作> % endif
现在分配的代码
工人
发送到输出只有当列表
是真正的
。保存
read-guide-param.tlc
。
执行
read-guide-param.tlc
检查输出,使用命令薄层色谱- r指南。rtw read-guide-param.tlc
这个收益率
* * *处理RECORDFILE[指南。环球套票)*字段内容分配给一个变量,例如。“%分配工人= FirstName”工人扩大FirstName =亚瑟* * *
执行
read-guide-param.tlc
使用命令:薄层色谱- r指南。rtw倾斜的read-guide-param.tlc = 0
与
船向一边倾斜的= 0
开关,输出只显示信息之外的如果
声明。* * *处理RECORDFILE[指南。环球套票)* * *
审查
前面的练习检查记录文件的结构,和扩大使用TLC指令。薄层色谱中常用以下TLC指令脚本(请参阅目标语言编译器指令详细描述):
% addincludepath |
使TLC找到包含文件。 |
% addtorecord |
字段添加到现有的记录。新字段名称/值对或别名现有记录。 |
%分配 |
创建或修改变量。 |
% copyrecord |
创建新记录和,如果适用的话,指定subrecords,包括名称/值对。来自现有记录的组件指定。 |
% createrecord |
创建新的顶级记录和,如果适用的话,指定subrecords,包括名称/值对。 |
% foreach / % endforeach |
迭代循环变量从0到上限。 |
%如果/ % endif |
控制是否执行代码,如C。 |
%包括 |
插入一个文件到另一个,如C。 |
% mergerecord |
将一个或多个记录。第一个记录包含本身加上其他记录的副本内容指定的命令,在序列。 |
% selectfile |
直接输出到一个流或文件。 |
% undef var |
删除(删除)var (变量或记录)范围。如果var 记录的某个字段中,薄层色谱从记录中删除字段。如果var 是一个记录数组(清单),TLC删除数组的第一个元素;其余元素仍然是可以访问的。只有创建通过记录% createrecord 或% copyrecord 可以删除。 |
%和% endwith |
添加范围简化引用块。 |