新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > TCL语言简述

TCL语言简述

作者:时间:2010-09-27来源:网络收藏

  这里的 if 命令接受两个参数,每个都是用花括号界定的。If 是内置命令,它把它的第一个参数作为表达式来求值;如果结果非零,则 if 把它的第二个参数作为 Tcl 命令执行。这个特定命令在变量 a 小于 b 的时候交换 a 和 b 的值。
  Tcl 还允许用户定义用 Tcl 写的命令过程。我称谓这些过程为 tclproc,为的是区别于用 C 写成的其他过程。使用 proc 内置命令来建立 tclproc。例如,下面定义了一个递归的阶乘过程的 Tcl 命令:
  proc fac x {
  if {$x == 1} {return 1}
  return [expr {$x * [fac [expr $x-1]]}]
  }
  proc 命令接受三个参数:新 tclproc 的名字、一个变量名字的列表(在这个实例中试只有一个元素 x 的列表),和一个构成 tclproc 的过程体的 Tcl 命令。一旦执行了这个 proc 命令,fac 就可以同其他 Tcl 命令一样调用了。例如
  fac 4
  将返回字符串“24”。
  尽管内置 Tcl 命令可以令人信服的用作独立的编程系统,Tcl 实际上意图被嵌入到应用程序中。我已经建造了使用 Tcl 的几个应用程序,其中之一是针对 X 的叫做 mx 的一个基于鼠标的编辑器。在本文的余下部分,我将使用来自 mx 的例子来展示 Tcl 如何与包围它的应用进行交互。
  使用 Tcl 的应用程序用同特定应用有关的一些额外的命令来扩展内置命令。例如,时钟程序可以提供额外的命令来控制时钟如何显示和设置闹钟;mx 编辑器提供额外的命令来从磁盘读取文件,在窗口中显示它,选择和修改一定范围内的字节,和把修改后的文件写回磁盘。应用程序员只需要写特定于应用的命令;内置命令“免费的”提供编程能力和扩展能力。对于用户,特定于应用的命令表现的如同内置命令一样。
  Tcl 和窗口应用
  可嵌入的命令如 Tcl 在窗口环境中提供了特别的好处。部分原因是在窗口环境中有很多交互式程序(所以有很多地方要使用命令),部分的原因是在今天的窗口环境中可配置性是重要的,并且语言如 Tcl 提供了做重新配置的灵活性。Tcl 在窗口应用中可以用于两个目的: 配置应用的界面动作,配置应用的界面外观。在下面的段落中讨论这两个用途。
  Tcl 的第一个用法是用于界面动作。理想的,对应用重要的每个事件都应当绑定上 Tcl 命令。每次击键、每次鼠标移动或鼠标按钮按下(或释放)、和每个菜单条目都应当关联上 Tcl 命令。
  当事件发生时,首先把它映射到它的 Tcl 命令上,接着通过把这个命令传递到 Tcl_Eval 来执行它。应用不应当直接接收任何动作;所有动作都应当首先通过 Tcl 来传递。进一步,应用应当提供 Tcl 命令允许用户改变与任何事件相关联的 Tcl 命令。
  在交互式的窗口应用中,Tcl 的使用可能对于初级用户是不可见的: 他们将使用按钮、菜单和其他界面构件来操纵应用。但是,如果使用 Tcl 作为所有界面动作的中间媒介,则会产生两个好处。首先,使得写 Tcl 程序来重新配置界面成为可能。例如,用户将能够重新绑定击键、改变鼠标按钮、或把一个现存的操作替代为指定为一组 Tcl 命令或 tclproc 的更加复杂的操作。第二个好处是这种方式强制所有的应用的功能都可通过 Tcl 来访问: 任何可以使用鼠标或键盘调用的东西都可以使用 Tcl 程序调用。这使得有可能写模拟程序动作的 tclproc,或把程序的基本动作组合到更加强力的动作中。这还允许交互式会话作为一序列 Tcl 命令而被记录和重演。

本文引用地址:http://www.eepw.com.cn/article/151488.htm

上一页 1 2 下一页

关键词: 简述 语言 TCL

评论


相关推荐

技术专区

关闭