TCL(Tool Command Language)学习(二)-----基本指令

news2024/11/27 2:27:58

一、控制流if

If(判断条件){

脚本语句

}elseif{判断条件}{

脚本语句

}else {

脚本语句

}

脚本语句的{一定要写在上一行。

二、switch 语句

和 C 语言中中的 switch 语句一样

三、循环指令foreach

语法格式: foreach 变量 列表 循环主体

功能: 从第0个元素开始,每次按顺序取得列表的一个元素,将其赋值给变量,然后执行循环主体一次,直到列表最后一个元素

四、循环控制指令 break

语法格式:break

功能: 结束整个循环过程,并从循环中跳出

 五、循环控制指令:continue

功能: 仅结束本次循环,

六、循环控制指令 while

语法格式:while 判断语句 循环主体

功能: 如果判断语句成立(返回值非0),就运行脚本,直到不满足判断条件停止循环,此时while命令中断并返回一个空字符串

 七、for循环

语法格式: for 参数初始化 ,判断语句 ,重新初始化参数,循环主体

功能: 如果判断语句返回值非0就进入循环,执行循环主体后,再初始化参数,然后再次进行判断,直到判断语句返回值为0,循环结束

 八、过程函数 proc

语法格式:proc 函数 参数列表 函数主体

功能:类似于c语言中的函数,即用户自定义的功能,方便多次调用

九、全局变量/局部变量

全局变量:在所有过程之外定义的变量

局部变量:

 对于在过程中定义的变量,因为它们只能在过程中被访问,并且当过程退出时会被自动删除

指令global ,可以在过程内部引用全局变量

十、正则匹配

1、字符匹配

正则表达式的\w,用来匹配一个字母、数字、下划线

正则表达式的\d ,用来匹配一个数字

2、锚位

用来指示字符串当中的开头和结尾的位置,使能够匹配到正确的字符。

其它字符

\s 表示空格

.  表示任意一个字符

十一、正则匹配指令 regexp

语法格式:regexp?swithes?exp string? matchVar? ?subMatchVar subMatchVar  …?

功能: 在字符串中使用正则表达式匹配

switches:

nocase将字符串中的大写都当作小写看待。

exp正则表达式

string用来进行匹配的字符串

matchstring表示用正则表达式匹配的所有字符串

sub1表示正则表达式中的第一个子表达式匹配的字符串

sub2表示正则表达式中的第一个子表达式匹配的字符串

例:

匹配字符串“abs123”

匹配一个以数字开头并且以数字结尾的字符串

捕获变量

通过()可以捕获字符串

例如将字符串“snow is 30 years old”中的30捕获出来

一次捕获多个字符串

将字符串“snow is 30 years old”中的 snow 和 30 一次捕获

十二、文本处理

1、open

语法格式 :    open 文件  打开方式 (打开方式r 表示读模式,w表示写模式。)

功能:打开文件

r    只读方式打开。文件必须已经存在。这是默认方式。

r+    读写方式打开,文件必须已经存在。   

w    只写方式打开文件,如果文件存在则清空文件内容,否则创建一新的空文件。

w+    读写方式打开文件,如文件存在则清空文件内容,否则创建新的空文件。

a    只写方式打开文件,文件必须存在,并把指针指向文件尾。

a+    读写方式打开文件,并把指针指向文件尾。如文件不存在,创建新的空文件。

2、gets

        语法格式: gets fileld 变量名

功能     gets 读 fileld 标识的文件的下一行,并把该行赋给变量,并返回该行的字符数(文件尾返回-1)

3、close

语法格式:  close fileld

功能          关闭文件

4、读取文件

逐行进行读取文件,直到读取到最后一行

5、写入文件

读取文件,求出所有Slack值之和。

十三、脚本运行方式

可以将命令写在一个 tcl 脚本中,TCL文件记录TCL脚本程序代码中,以“.tcl”为扩展名。

在console窗口中,可以用source指令执行一个TCL脚本。

如下,将需要执行的语句写在“test1.tcl”中,

在console中利用source语句执行该文件,得到如下的的结果

十四、eval

作用是把字符串当作语句来执行。这个命令或者说这种功能的主要用途是拼接语句:有时我们要运行的语句(代码段)不是立刻就能确定的,如果把多个语句的结果存储在多个变量中,就会导致代码繁杂——这种情况下先把代码当作字符串来拼接,拼接完毕后再把字符串当作代码来运行,就可以简化代码。

用法:

eval 参数1 参数2 参数3 ..

eval会将 所有参数 拼接成类似于列表的字符串(与concat命令相同)然后当作代码运行

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/784626.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

windows配置anaconda环境变量

windows 配置 anaconda 环境变量,可以做到 cmd 中调用 conda 命令,不必每次都去找 Anaconda Prompt 文章目录 1. 找到Anaconda的安装位置2. 配置系统环境变量2.1 一步到位2.1 或者手动打开2.2 配置环境变量 3. 检查 1. 找到Anaconda的安装位置 默认安…

​连接未来,探索汽车OTA

摘要: 汽车OTA技术正在变革汽车工业 提起汽车OTA,相信大家都不陌生。OTA就是Over The Air的缩写,就是指汽车可以通过无线网络升级软件。即使非汽车从业者,相信也会被铺天盖地的广告科普过:现在新车型发布&#xff0c…

敏捷知识点

敏捷思想理念 敏捷宣: 我们正在通过亲自开发和帮助他人开发,发现开发软件的更好方法。通过这项工作,我们开始更重视: 个体以及互动而不是过程和工具可用的软件而不是完整的文档客户合作而不是合同谈判应对变更而不是遵循计划 也就是说,右…

表单验证:输入的字符串以回车分隔并验证是否有

公司项目开发时&#xff0c;有一个需求&#xff0c;需要对输入的字符串按回车分隔并验证是否有重复项&#xff0c;效果如下&#xff1a; 表单代码&#xff1a; <el-form-item label"IP地址条目&#xff1a;" prop"ipAddressEntry"><el-inputtype&…

基于深度神经网络的肺炎检测系统实现

一、说在前面 使用AI进行新冠肺炎图像诊断可以加快病例的诊断速度&#xff0c;提高诊断的准确性&#xff0c;并在大规模筛查中发挥重要作用&#xff0c;从而更好地控制和管理这一流行病。然而&#xff0c;需要强调的是&#xff0c;AI技术仅作为辅助手段&#xff0c;最终的诊断决…

vue3时间插件——Moment.js使用

在日期时间这一块在js中是有体现的&#xff0c;但是用起来不是特别方便&#xff0c;尤其是在vue框架中&#xff0c;我们也不可能去那样使用&#xff0c;显得很笨拙麻烦&#xff0c;所以给大家这次带来一个好用的时间插件&#xff0c;就是Moment时间插件&#xff0c;很小巧&…

vue3+ts+element-plus 之使用node.js对接mysql进行表格数据展示

vue3tselement-plus axiosnode.jsmysql开发管理系统之表格展示 ✏️ 1. 新建一个node项目* 初始化node* 安装可能用到的依赖* 配置文件目录* 添加路由router1. 添加router.js文件&#xff0c;添加一个test目录2. 修改app.js ,引入router&#x1f4d2; 3. 启动并在浏览器打开 * …

【C++】再谈模板,深入理解C++模板

深入理解C模板 typename和class的区别非类型模板参数模板的特化函数模板特化类模板特化全特化偏特化 模板分离编译模板的分离编译解决方法 总结&#x1f340;小结&#x1f340; &#x1f389;博客主页&#xff1a;小智_x0___0x_ &#x1f389;欢迎关注&#xff1a;&#x1f44d…

Linux---详解进程信号

进程信号 &#x1f373;信号理解&#x1f9c8;什么是信号&#xff1f;&#x1f95e;进程信号&#x1f953;查看系统信号&#x1f969;在技术角度理解信号&#x1f357;注意 &#x1f356;信号处理&#x1f9c7;信号异步机制 &#x1f354;信号产生&#x1f35f;通过终端按键产生…

解决VScode下载太慢的问题记录

最近突然想重新下载vscoded便携免安装版&#xff0c;发现下载很慢&#xff0c;于是乎查询一下&#xff0c;以便记录 下载地址 VScode官方网站&#xff1a; https://code.visualstudio.com/ 根据个人的需求选择下载&#xff0c;页面加载下载需要等一会&#xff0c; 然后就会…

Oracle输出文本平面(CSV、XML)文本数据详细过程

此过程是提供给前端,调用的接口,为报表提供”下载“功能。以下是本人在测试环境的测试,有什么不足的地方,请留言指教,谢谢。 1、测试表 分别对测试表输出csv、xml两种格式文件数据。前期的准备工作。 --在服务器端创建directory,用管理员用户 create or replace directo…

Python系列学习第二章-Python语言基本语法元素

hello&#xff0c;这里是Token_w的文章&#xff0c;主要讲解python的基础学习&#xff0c;希望对大家有所帮助 整理不易&#xff0c;感觉还不错的可以点赞收藏评论支持&#xff0c;感谢&#xff01; Python程序说它可以倒背如流&#xff0c;人类的你要不要默写一下保留字来试试…

Android 之 Paint API —— ColorFilter (颜色过滤器) (2-3)

本节引言&#xff1a; 上一节中我们讲解了Android中Paint API中的ColorFilter(颜色过滤器)的第一个子类&#xff1a; ColorMatrixColorFilter(颜色矩阵颜色过滤器)&#xff0c;相信又开阔了大家的Android图像处理视野&#xff0c; 而本节我们来研究它的第二个子类&#xff1a;L…

h5百度地图聚合---切换tab时,聚合不能清除

项目&#xff1a;taro3vue3 描述&#xff1a;切换tab的时候用map.clearOverlays清除&#xff0c;但是地图缩放下聚合又出现了 解决&#xff1a;地图组件监听makers的时候 if (oldVal.length) {map.clearOverlays()markerClusterer.clearMarkers() }

数仓学习---13、报表数据导出

星光下的赶路人star的个人主页 莫见长安行乐处&#xff0c;空令岁月易蹉跎 文章目录 一、报表数据导出1.1 MySQL建库建表1.1.1 创建数据库1.1.2 创建表 1.2 数据导出1.2.1 DataX配置文件生成脚本1.2.2 编写每日导出脚本 一、报表数据导出 为方便报表应用使用数据&#xff0c;需…

解决 cannot execute binary file: Exec format error

问题&#xff1a;cannot execute binary file: Exec format error 解决 cannot execute binary file: Exec format error 原因&#xff1a; "cannot execute binary file: Exec format error" 错误通常发生在尝试执行一个不兼容的二进制文件时。这可能是因为你正在…

python中使用cProfile可视化并解决性能瓶颈问题

大家好&#xff0c;帕累托法则讲到&#xff1a;“在大多数情况下&#xff0c;80%的结果来自于20%的原因。”作为一名程序员&#xff0c;当代码运行速度不尽如人意时&#xff0c;就需要花费大量时间对代码进行相应的重构&#xff0c;但在许多情况下&#xff0c;所得到的速度提升…

【Python入门系列】第十八篇:Python自然语言处理和文本挖掘

文章目录 前言一、Python常用的NLP和文本挖掘库二、Python自然语言处理和文本挖掘1、文本预处理和词频统计2、文本分类3、命名实体识别4、情感分析5、词性标注6、文本相似度计算 总结 前言 Python自然语言处理&#xff08;Natural Language Processing&#xff0c;简称NLP&…

吴恩达ChatGPT《LangChain Chat with Your Data》笔记

文章目录 1. Introduction2. Document Loading2.1 Retrieval Augmented Generation&#xff08;RAG&#xff09;2.2 Load PDFs2.3 Load YouTube2.4 Load URLs2.5 Load Notion 3. Document Splitting3.1 Splitter Flow3.2 Character Splitter3.3 Token Splitter3.4 Markdown Spl…

如何在3ds max中创建可用于真人场景的巨型机器人:第 3 部分

推荐&#xff1a; NSDT场景编辑器助你快速搭建可二次开发的3D应用场景 1. 创建腿部装备 步骤 1 打开 3ds Max。 打开在本教程最后一部分中保存的文件。 打开 3ds Max 步骤 2 转到创建> 系统并单击骨骼。 创建>系统 步骤 3 为的 侧视口中的腿&#xff0c;如下图所示…