Tcl 简介及特性
来源:互联网 发布:2017年大数据发展报告 编辑:程序博客网 时间:2024/06/05 04:39
【简介|特性】
l 简介
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的库包含了一个分析器、用于执行内建命令的例程、可扩充的库函数。
l 特性
同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"#"
【下载|运行】
l 下载安装
1. 下载地址:
http://www.activestate.com/activetcl/activetcl-8-6
2. 控制面板->系统和安全->系统->高级->环境变量->系统变量,将Tcl的目录加到Path路径中:
l 程序运行
安装好了之后,可以选择下面几种方式来运行,假如要打印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的话则是放在栅格的第一行,第一列
- Tcl 简介及特性
- TCL简介
- HttpClient简介及特性
- C++简介及特性
- mongoDB简介及关键特性
- HTML5简介及新特性
- Tcl编程简介
- TCL 语言简介
- TCL 语言简介
- tcl语言简介1
- (转载)Tcl简介
- TCL 语言简介
- TCL UI引擎简介
- Tcl编程简介-info
- Tcl编程简介
- TCL语法简介1
- Tcl的历史--Tcl/Tk简介
- LINQ新特性简介及入门教程
- Regular Expression Matching
- iOS7之后UIBarButton在导航栏上的过大边距问题解决方案
- 关于dom4j中使用FileWriter构造XMLWriter导致生成的xml中文乱码总结。
- C++概述
- 无边框表格设置
- Tcl 简介及特性
- LeetCode 题解(125): Course Schedule II
- 概率论札记 - 1 - 构造一个无法成为事件的状态空间子集(不可测集)
- 《编程导论(Java)·11.1(排序)说明》
- LeetCode 题解(126): Minimum Size Subarray Sum
- Opencv中的waitKey
- PHP 流量控制语句的替代语法
- 积累是一种最简单的学习方法
- 软件项目9步神曲