Tcl 简介及特性

news/2024/10/17 10:27:38/

简介|特性

简介

Tcl是一门产生于80年代末的语言,和Python一样,她是用c开发出来的,如果说C/Java/C++/C#为编译型语言的话,那么Python、Perl和Tcl就是一门解释性语言,也就是说程序不需要先编译为机器能识别的二进制码,再运行程序,而是直接可以运行。其技术实现主要借助于Tcl中的库作为解析器。如果你知道Python的话,其执行过程如下:python先把代码编译成字节码,再对字节码解释执行


同为解释型语言,Tcl同样靠其内置分析器负责解释.编译型语言的优点是:因其直接同CPU指令集打交道,生成机器可识别的二进制码,所以速度非常快,编译后执行的速度比解释型语言快的多,缺点编码相对复杂,代码量也大。而解释型语言则是牺牲速度,提高编码效率,实现同样的功能,用Python,Tcl这样的脚本语言,其代码量相当于C/C++/Java这种编译型语言的1/3~1/5,也就是用很少的代码就能实现很强大的功能,可谓:很好很强大!

Tcl是tool command language的缩写(工具命令语言),是一种很通用的脚本语言,几乎可以在所有的平台运行,功能强大,简单易学。Tcl常被用于快速原型开发、脚本编程、GUI和测试。 Tcl发音为”tickle”,包含了两部分:语言本身或扩展库.

首先:Tcl是一种简单的语言,主要用于发布一些命令给交互程序(文本编辑器、调试器、SHELL),它语法简单,扩充性强,Tcl可创建新的过程以增强其内建的能力。

其次:Tcl是一个库,可以被嵌入应用程序,Tcl的库包含了一个分析器、用于执行内建命令的例程、可扩充的库函数。

特性

同Python一样,Tcl又称为"胶水"语言,粘合性很强!Python中如果没有库文件提供的功能时,可以用C语言来实现该功能,再融合进去。Tcl也一样,Tcl一个重要特性是它的扩展性。如果一个程序需要使用某些标准Tcl没有提供的功能,可以使用c语言创造一些新的Tcl命令,并很容易的融合进去。Tk是一系列令Tcl易于编写图形用户接口GUI的命令和过程。另一个流行的扩展包是Expect.,Expect提供了通过终端自动执行命令的能力,例如(passwd、ftp、telnet等命令驱动的外壳)。

好吧,在这里简单对上面总结一下就是:Tcl其实就是一条条命令组成的工具语言,跨平台,只有一种类型,那就是字符类型,与操作系统集成,简单易学其特点。

再来看一段,连接设备的代码:

spawntelnet 192.168.0.2     # 登陆设备

expect"Username:"           # 期望输入用户名

send"admin\n"               # 发送用户名         

expect"Password:"           # 期望输入用户名

send"XXXXXX\n"              # 发送密码

expect"3750>"               # 期望回文显示             

send"en\n"

expect"Password:"

send"XXXXXX\n"

expect"3750#"

send"ping 192.168.0.3\n"

expect"3750#"

send"config t\n"

expect"#"

send"ip route 123.2.1.1 255.255.255.255 null0\n"

expect"#"

 

下载|运行

下载安装

1. 下载地址:

http://www.activestate.com/activetcl/activetcl-8-6

2. 控制面板->系统和安全->系统->高级->环境变量->系统变量,将Tcl的目录加到Path路径中:


程序运行

安装好了之后,可以选择下面几种方式来运行,假如要打印Hello,World,这也是学习任何语言的第一个最简单程序.

方式一:通过tclsh或tclsh86(Tcl的应用程序的外壳)来执行

备注:

1. tclsh为Tcl应用程序的外壳.

2. 一般执行tclsh就可以进入shell模式,因为我本机上安装的是tcl8.6,其文件名为:C:\Tcl\bin\ tclsh86.exe, 所以需执行tclsh86

D:\>tclsh86
% puts "Hello, World!"
Hello, World!

方式二:输入tclsh file.tcl文件来运行程序.

D:\>tclsh86 hello.tcl

Hello, World!

方式三:通过wish来运行一个简单的Tk脚本

先输入:wish或wish86,运行 wish

再输入: button .b -text "Hello,World!"-command exit


就可以显示Hello,World!的窗口,也可以在将上述的命令写到hello.tcl文档里面。

再运行:


结果输出:


详细说明:

1. button,grid,pack都是Tcl中的命令

2. .b则代表button这个组件的子组件

3. -text “Hello,World!”表示要输出的内容

4. -background表示背景颜色

5. -foreground按钮的文字颜色

6. -font按钮使用的字体”times 12”代表12磅Times Roman字体

7. grid .b 创建的组件不会自动显示,用grid让其显示在屏幕上.

8. pack .b 压缩的方式,grid的话则是放在栅格的第一行,第一列


http://www.ppmy.cn/news/149513.html

相关文章

TCL 的安装

TCL 的安装 ActiveTcl的下载安装ActiveTcl交互式解释器tclsh的启动wish 解释器Lets do it! ActiveTcl的下载 ActiveTcl 是一款免费的Tcl 预编译器,可以在ActiveState网站ActiveState下载所需要的版本,也可以在作者的博客中免费下载ActiveTcl…

TCL脚本语言学习

文章目录 前言一、安装二、变量列表1、置换subtitution2、变量3、数组4、列表5、一些命令 三、控制流1、if语句2、foreach3、break:直接结束循环4、continue:结束本次循环5、while6、for循环7、switch 四、过程函数1、proc自定义函数2、全局变量和局部变…

TCL的列表操作

concat concat 列表A 列表B lrepeat lrepeat 重复次数 列表A lindex lindex 列表A 元素索引 lrange lrange 列表A 元素索引a 元素索引b llength length 列表A lassign lassign 列表A 元素索引a 元素索引b lappend lappend 列表A 增加的元素 lins…

Sentinel怎么使用和控制台讲解

Sentinel 基础 官网 1 Github: https://github.com/alibaba/Sentinel 2 快速开始: https://sentinelguard.io/zh-cn/docs/quick-start.html 3 中文: https://github.com/alibaba/Sentinel/wiki/介绍 4 使用手册: https://spring-cloud-alibaba-group.github.io/github-pag…

Tcl -- lappend

1)lappend - Append list elements onto a list. 在列表(变量)后添加列表元素。 2)语法: lappend varName ?value value value ...? 注意:是varname变量名(列表名),不是list。追加的元素之间用空格隔开…

TCL 教程

TCL 常常被称为工具命令语言 (Tool Command Language)。TCL 简单易学,功能强大。本教程主要针对使用数字 IC 设计工具而涉及 TCL 使用的开发人员。 第一章:TCL 教程 1.1 TCL 教程 1.2 TCL 简介 1.3 TCL 环境搭建 第二章:TCL 语法 2.1 TCL 基…

TCL

第一部分:TCL基本知识 一.简介 Tcl 表示工具命令语言(Tool Command Language),它是一种流行的脚本编制语言,最初由加州大学伯克利分校的 John Ousterhout 教授开发。John Ousterhout 打算将 Tcl 作为一种将其它程序组件粘合在一起…

tcl proc

原文链接:https://bbs.eetop.cn/thread-918745-1-1.html 作者:489315174 define_proc_attributes和parse_proc_arguments命令能够扩展tcl语言中proc的功能,创建和Synopsys命令一样具有help和属性的命令。 创建一个新的proc时,它具…