`
hyw520110
  • 浏览: 219576 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Tcl编程简介(五)

    博客分类:
  • TCL
阅读更多

Error命令

 

error message
error message info
error message info code

 

  返回一个错误,引起解释器停止运行。info用于初始化全局变量errorInfo。code被付给errorCode。

eval arg ...

  将所有的参数连起来作为命令语句来执行。

exec arg ...

  仿佛是在shell下执行一条命令。


exec ls --color
exec cat /etc/passwd > /tmp/a

exit
exit returnCode

 

  中断执行。

expr arg

  处理表达式。


set a [expr 1+1]
//a=2

file subcommand name

 

  一组用于文件处理的命令。


file subcommand name arg ...
file atime name

 

  返回文件的最近存取时间。

file dirname name

  返回name所描述的文件名的目录部分。

file executable name

  返回文件是否可被执行。

file exists name

  返回1 表示文件存在,0 表示文件不存在。

file extension name

  返回文件的扩展名。

file isdirectory name

  判断是否为目录。

file isfile name

  判断是否为文件。

file lstat name varName

  以数组形式返回。执行lstat系统函数。存储在varName。

file mtime name

  文件的最近修改时间。

file owned name

  判断文件是否属于你。

file readable name

  判断文件是否可读。

file readlink name

  都出符号连接的真正的文件名。

file rootname name

  返回不包括最后一个点的字符串。

file size name

  返回文件的大小。

file stat name varName

  调用stat内和调用,以数组形式存在varName中。

file tail name

  返回最后一个斜线以后的部分。

file type name

  返回文件类型file, directory, characterSpecial, blockSpecial, fifo, link, 或socket。

file writable name

  判断文件是否可写。

flush fileId

  立即处理由fileId描述的文件缓冲区。

for start test next body

  for循环。同C总的一样。


for {set i 1} {$i < 10} {incr i} {puts $i}
foreach varname list body

 

  类似于C Shell总的foreach或bash中的for..in...


format formatString
format formatString arg ...

 

  格式化输出,类似于C中的sprintf。


set a [format "%s %d" hello 100]
//a="hello 100"

gets fileId
gets fileId varName

 

  从文件中读出一行。


set f [open /etc/passwd r]
gets $f

glob filename ...
glob -nocomplain filename ...

 

  使用C Shell风格的文件名通配规则,对filename进行扩展。


ls /tmp
a b c

tclsh>glob /tmp/*
a b c

 

  当加上参数 -nocomplain 时,如文件列表为空则发生一个错误。

global varname ...

定义全局变量。


if test trueBody
if test trueBody falseBody
if test then trueBody
if test then trueBody else falseBody

 

  条件判断,是在没什么说的。


incr varName
incr varName increment

 

  如果没有incremnet,将varName加一,反之将varName加上increment。


set i 10
incr i
//i=11
incr i 10
//i=21
info subcommand
info subcommand arg ...

 

  取得当前的Tcl解释器的状态信息。

info args procname

  返回由procname指定的命令(你自己创建的)的参数列表。

  如:


proc ff { a b c } {puts haha}
info args ff
//return "a b c" 

info body procname

 

  返回由procname指定的命令(你自己创建的)的函数体。

  如:


proc ff { a b c } {puts haha}
info body ff
//return "puts haha" 
info cmdcount

 

  返回当前的解释器已经执行的命令的个数。


info commands
info commands pattern

 

  如果不给出模式,返回所有的命令的列表,内建和自建的。

  模式是用C Shell匹配风格写成的。


info complete command

 

  检查名是否完全,有无错误。

info default procname arg varname

  procname的参数arg,是否有缺省值。

info exists varName

  判断是否存在该变量。


info globals
info globals pattern

 

  返回全局变量的列表,模式同样是用C Shell风格写成的。

info hostname

  返回主机名。


info level
info level number

 

  如果不给参数number则返回当前的在栈中的绝对位置,参见uplevel中的描述。如加了参数number,则返回一个列表包含了在该level上的命令名和参数。

info library

  返回标准的Tcl脚本的可的路径。实际上是存在变量tcl_library中。


info locals
info locals pattern

 

  返回locale列表。


info procs
info procs pattern

 

  返回所有的过程的列表。

info script

  返回最里面的脚本(用 source 来执行)的文件名。

info tclversion

  返回Tcl的版本号。


info vars
info vars pattern

 

  返回当前可见的变量名的列表。

  下面是一些用于列表的命令,范围可以是end。


join list
join list joinString

 

  将列表的内容连成一个字符串。


lappend varName value ...

 

  将value加入列表varName中。

lindex list index

  将list视为一个列表,返回其中第index个。列表中的第一个素下标是0。


lindex "000 111 222" 1
111
linsert list index element ...

 

  在列表中的index前插入element。

list arg ...

  将所有的参数发在一起产生一个列表。


list friday [exec ls] [exec cat /etc/passwd]
llength list

 

  返回列表中素的个数。


set l [list sdfj sdfjhsdf sdkfj]
llength $l
//return 3

lrange list first last

 

  返回列表中从frist到last之间的所有素。


set l [list 000 111 222 333 444 555]
lrange $l 3 end
//return 333 444 555

lreplace list first last
lreplace list first last element ...

 

  替换列表中的从first到last的素,用element。


set l [list 000 111 222 333 444 555]
lreplace $l 1 2 dklfj sdfsdf dsfjh jdsf
000 dklfj sdfsdf dsfjh jdsf 333 444 555

lsearch -mode list pattern

 

  在列表中搜索pattern,成功返回序号,找不到返回-1。


-mode : -exact 精确
-glob shell的通配符
-regexp 正则表达式

lsearch "111 222 333 444" 111
//return 0
lsearch "111 222 333 444" uwe
//return 1

分享到:
评论

相关推荐

    Tcl编程简介 TCL脚本

    【TCL编程简介】 TCL,全称Tool Command Language,是一种功能强大的通用脚本语言,其发音为“tickle”。TCL的特点在于它的简洁语法和高度可扩展性,使其不仅适用于发布命令给交互式程序,如文本编辑器、调试器和...

    Tcl 编程初步.xdf

    TCL编程初步(学习TCL语言)

    tcl脚本基础 tcl编程

    标题与描述概述的知识点主要集中在TCL脚本的基础用法及编程方法上,以下是对这些知识点的详细解析: ### TCL脚本基础 #### 1. 基本语法与结构 TCL(Tool Command Language)是一种强大的脚本语言,特别适用于快速...

    Tcl_TK编程权威指南pdf

    Tcl_TK编程权威指南是一本全面介绍Tcl(Tool Command Language)及Tk图形用户界面工具包的编程书籍,由John Ousterhout教授设计并编写。Tcl是一种脚本语言,可以被轻松地嵌入到应用程序中,与C语言相比,Tcl的语法...

    TCL脚本语言编程_tcl_TCL校本编程_

    《TCL脚本语言编程》这本书可能是为初学者设计的,旨在帮助读者掌握TCL的基础知识和应用技巧。 TCL的核心特性包括简洁的语法、动态类型和内置的字符串处理能力。其语法结构相对简单,使得学习曲线较平缓。例如,...

    tcl与C++联合编程

    #### 一、TCL/Tk简介 TCL(Tool Command Language)是一种解释型的脚本语言,以其简洁、高效的特点受到开发者的喜爱。Tk则是与TCL紧密相连的一个图形用户界面工具包,主要用于创建跨平台的GUI应用。TCL/Tk由John K....

    TCL脚本语言编程 pdf

    这些基础知识构成了TCL编程的基石,无论你是初学者还是有一定经验的开发者,都能从中受益。 expect部分是本书的重点。通过expect,你可以编写脚本来模拟用户与命令行界面的交互,例如自动应答程序提示、等待特定...

    TCL+TCL脚本语言编程+TCL语言教程

    在提供的资源中,"TCL脚本语言编程.pdf"可能涵盖了上述的语法和编程实践,"Tcl语言教程.pdf"可能深入讲解了TCL语言的高级特性,而"tcl.pdf"可能包含TCL的特定应用场景或扩展库的介绍。通过这些教程,你可以系统地...

    TCL编程说明文档

    ### TCL编程核心知识点详解 #### 一、TCL概述与特点 TCL(最初被称为“工具命令语言”,即Tool Command Language)是由John Ousterhout创建的一种强大的脚本语言。随着时间的发展,虽然“工具命令语言”的含义已经...

    TCL脚本语言编程.pdf

    描述与标签中的重复提及“TCL脚本语言编程.pdf”,暗示了这份文档可能是关于TCL编程的详细介绍或教程,旨在帮助读者掌握TCL语言的基础知识、高级特性以及实际应用案例。由于文档的具体内容未能完全展示,我们可以...

    TCL脚本语言编程资料

    **TCL脚本语言编程** TCL(Tool Command Language)是一种简单、易学且功能强大的脚本..."TCL脚本语言编程.pdf"这份资料应包含了TCL的详细教程,包括基础概念、语法特性、实例演示等,对学习和掌握TCL编程非常有帮助。

    TCL / TK 权威编程指南

    ### TCL与TK简介 TCL(Tool Command Language)是一种脚本语言,以其简洁、高效和跨平台特性而受到欢迎。它最初由John Ousterhout在1988年开发,旨在简化GUI应用程序的创建过程。TCL易于学习,具有强大的文本处理...

    tcl socket 编程实例

    ### TCL Socket 编程实例详解 #### 一、TCL Socket 概述 TCL(Tool Command Language)是一种脚本语言,广泛应用于快速原型开发、脚本编程等场景。TCL支持网络通信功能,其中最重要的一项是Socket编程,用于创建...

    TCL脚本语言编程

    ### TCL脚本语言编程知识点详解 #### 一、TCL基本知识 - **TCL简介**:TCL(Tool Command Language)是一种轻量级的解释型脚本语言,以其简单易学、...希望这份详尽的知识点能够帮助大家更好地理解和掌握TCL编程。

    TCL\TK编程权威指南

    《TCL\TK编程权威指南》是一本深入探讨TCL和TK编程语言的经典教程,它以其详尽且易于理解的内容,深受程序员们的喜爱。TCL(Tool Command Language)是一种脚本语言,而TK则是一个与TCL紧密集成的图形用户界面(GUI...

    面对对象的TCL编程--ITCL [incr TCL]

    ### 面向对象的TCL编程——ITCL [incr TCL] #### 一、概述 在当前快速发展的软件市场中,开发周期短的应用程序往往更有可能取得成功。Tcl/Tk提供了一个高效的交互式开发环境,能够以惊人的速度构建图形用户界面...

    Tcl/TK编程权威指南.part2.rar

    本书共分为55章,依次详细讲述了 Tcl基础、Tcl高级特性、TK基础、TK组件、TK详解、C语言编程、各版本之间的差异等方面的知识,并通过大量实例,生动翔实地向读者介绍了 Tcl/Tk编程,是读者掌握Tcl/Tt的必备参考书。...

    Tclwise-Tcl编程语言指南Tclwise - Guide to the Tcl Programming Language

    #### 二、Tcl编程语言简介 ##### 2.1 历史背景与特点 - **历史背景**:Tcl由John Ousterhout在1980年代末期创建。最初是作为一个小型脚本来使用的,但随着时间的发展,它逐渐演变成为了一种功能完备的编程语言。 -...

    介绍tcl编程的教程

    这篇教程是为初学者设计的,旨在引导你了解TCL编程的基础知识。 首先,让我们从TCL的结构开始。TCL脚本由一系列命令组成,每个命令由一个或多个单词构成。这些单词可以是简单的标识符,也可以包含特殊字符。在TCL中...

Global site tag (gtag.js) - Google Analytics