间隔27年的大版本更新!脚本语言Tcl (时隔20多年)
简介
脚本语言 Tcl/Tk 日前正式发布了 9.0 版本,距离上一个大版本 8.0 已经过去了 27 年。Tcl 由 John Ousterhout 于 1980 年代后期创建,旨在提供一个快速的脚本执行环境,用于快速开发简单的命令行指令和脚本。
特性
Tcl/Tk 9.0 版本带来了许多新功能和改进,包括:
- 64 位容量支持
- 完整的 Unicode 和编码
- Zip 文件系统
- 附加档案
- 新的通知程序
- 对操作系统设施的访问
- 可缩放矢量图形
- 图像的完全访问
- 平台功能和约定的多项改进
不兼容性
需要注意的是,Tcl/Tk 9.0 与之前的 8.0 版本存在一些不兼容性,包括:
- 命名空间 varname 解析
- I/O malencoding
- 路径名中的波浪号 (~) 不再解释为主目录
- tcl_precision 不再对数字格式有影响
Tk
Tk 是 Tcl 中使用最广泛的扩展,它提供了各种平台下的图形用户界面 (GUI)。值得注意的是,连 Python 也不单独提供自己的 GUI,而是提供接口适配到 Tk 上。
总结
Tcl/Tk 9.0 的发布是该语言的重大更新,带来了许多新功能和改进。虽然它与旧版本存在一些不兼容性,但对于希望使用 Tcl/Tk 构建现代应用程序的开发者来说,它仍然是一个强大的工具。
IC设计,学习哪一个脚本语言比较好
一般来讲,作为一个IC前端设计的工程师,了解公司已有的Perl和Python工具即可。 Perl: 有同事熟悉Perl,用Perl编写脚本在目录里搜索含固定字符串的文件。 然后所有AHB Backbone RTL代码都是用Perl脚本自动生成的。 Python: 有同事喜欢Python。 用Python解析XML,利用预定义模版生成UPF文件。 Tcl/tk: 有一个同事喜欢用Tcl。 他觉得clearcase原生命令不够人性,用Tcl按照自己的习惯重新写了一些命令。 现在大家都在用。 每个大模块的DfT设定非常相似,所以所有DfT有关的代码我们都用Tcl来生成,脚本也是这个同事写的。 tk是Tcl的图形化界面。 理论上你可以用它开发EDA工具。 tcl一般是工具语言,EDA工具都按这种格式下约束,tcl本身就是为了配合工具使用的,没有太大的独立价值。 perl一般是黑科技,公司自己内部开发脚本,用来做一些极其强大的文字处理,减少重复性工作。 比如修ECO,将小design整合成大design,自动跑各种随机化的仿真,极其有用。 tcl没什么语法,谈不上掌握。 perl需要认真学,越精通越好。
TCL语言具体例子
TCL,一种强大的脚本语言,常与Tk库结合使用,以简化图形用户界面的创建。下面是一些TCL程序的实例:
首先,我们来看一个简单的shell脚本,它通过`#!/bin/sh`来启动TCL解释器:
#!/bin/shexec tclsh ${1+$@}这行代码的作用是,如果提供了参数,就使用`tclsh`来重启脚本,支持多连接的服务器处理。
接下来是一个名为`newConnection`的处理客户端连接的进程:
proc newConnection {sock addr port } {...}它设置了非阻塞和行缓冲模式,当socket可读时调用`handleData`处理数据。 如果接收到EOF(文件结束),会关闭连接。
另一个例子来自一个简单的A/D时钟程序,使用了定时器功能:
proc every {ms body} {...} -textvar timeevery 1000 {set ::time [clock format [clock sec] -format %H:%M:%S]}这个过程`every`每1000毫秒更新一次`time`变量,显示当前时间。
TCL的一大特性是其扩展性,如果需要非标准功能,可以编写C语言扩展TCL命令,并轻松整合。 这使得TCL拥有丰富的扩展包,方便用户使用。 与C等编译语言不同,TCL是一种解释型语言,通过一系列命令逐行执行,这种解释执行方式允许程序在运行时自我生成TCL脚本,灵活性极高。
扩展资料Tcl (最早称为“工具命令语言”Tool Command Language, 但是目前已经不是这个含义,不过我们仍然称呼它为TCL)是一种 脚本语言。 由John Ousterhout创建。 TCL很好学,功能很强大。 TCL经常被用于 快速原型开发,脚本编程, GUI和测试等方面。
有关Tcl脚本语言编程的问题
set srcfile dstfile {[catch {open $srcfile r} res]} { puts Failed to open the source file: $srcfile; $res return 0}set hSrc $resif {[catch {open $dstfile w+} res]} { puts Failed to open the destination file: $dstfile; $res return 0}set hDst $resforeach line [split [read $hSrc] \n] { if {[regexp {rdly=(.*)targ=(.*)trig=(.*)} $line match sub1]} {puts $hDst Rise Delay is $sub1 } if {[regexp {fdly=(.*)targ=(.*)trig=(.*)} $line match sub1]} {puts $hDst Fall Delay is $sub1 }}close $hSrcclose $hDst
本文链接:http://www.tiefuzhen.com/game/202409/135282.html
免责声明:本文为转载,非本网原创内容,不代表本网观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
-
天天向上天佑 天佑上天天向上节目是哪一期
1、天佑在《天天向上》的出场是在20180202期。2、这一期节目中,天佑作为嘉宾参与了录制,与主持人和观众分享了他的音乐创作经历和心路历程 [详细] -
盗贼pve天赋 盗贼三系天赋
首先**,本天赋使用范围如下:3、纯PVE玩家,想PVP?买双天赋去吧4、主手慢速拳套副手快速匕首的DZ(参考PPM实测,这个方案比较折中而且可 [详细] -
口袋妖怪红宝石神兽 口袋妖怪红宝石神兽有哪些
关于口袋妖怪红宝石神兽分布图,口袋妖怪红宝石神兽这个很多人还不知道,今天来为大家解答以上的问题,现在让我们一起来看看吧!1、口袋妖 [详细] -
天涯明月刀手游礼包 天涯明月刀手游有哪些礼包可以领
1、天涯明月刀手游近期只公布了一个礼包码那就是GTRVUAAEeyPWuAsN,这个礼包码会在2020年12月16日正式过期,所以对于一般的玩家来说还是有 [详细] -
洛克王国草系精灵王 洛克王国草系精灵王怎么配招
1、如果宠物形态是草系精灵王那就无法进化。2、如果宠物形态是金藤宝宝,那就需要6个草系魄力,宠物等级达到20级才能进化。3、第二形态金藤 [详细] -
周星驰御用配音!著名配音演员石班瑜去世:享年66岁
快科技9月18日消息,据看电影官微消息,著名配音演员石班瑜于2024年9月17日上午去世,享年66岁。石班瑜原名石仁茂,绰号石斑鱼,1958年3月9 [详细] -
dnf迷雾缭绕 dnf迷雾幻境怎么进
一、dnf迷雾缭绕任务怎么做dnf迷雾缭绕任务是一项需要玩家在特定地图中完成的任务,目标是找到并击败特定的敌人或收集特定的物品。以下是完 [详细] -
毁灭之融合石 dnf毁灭之融合石哪里爆的
1、类型:魔法石职业限制:全职业通用2、**时,有5%的几率增加100点力量减少100点智力,持续20秒(CD为30秒)3、**列车有可能出,力量职业刷 [详细] -
利刃漩涡 仙剑4百翎洲中怎样到达大漩涡
百翎洲进来后,旁边有储存点,储存之后,可以选择两条路,一条是往左走,要绕比较远的路,路上都是小怪物跟一些杂物,要练一下的可以选择往 [详细] -
爱养成攻略 爱养成攻略详细!!!
1、2049年1月黑街(想与该隐友好度满心的话,这个月就要去森林认识乔伊了)2、2049年6月黑街(这个月可以去商业街见乔伊,不见也可以)3、2 [详细]