为了看Opensees脚本控制那一块的机制,我去图书馆找了一本Tcl/Tk的书,《Tcl/Tk编程权威指南》,本来还找到一本《Practical Programming in Tcl and Tk》,但是因为它是英文的,所以没有借。今天花了一天的时间看了第一部分Tcl基础,在这里总结一下。
Tcl是一种基于字符串的命令语言,它被设计成一种粘合剂,用来将软件构件组装成应用程序。
Tcl 基本的语法是: command arg1 arg2 arg3 ..
Tcl 常用的符号主要有以下几个:
{} 首先可以用于分组用的,当大括号做分组目的使用时,与双引号的不同之处是不支持替换操作,expr除外,比如:
(bin) 31 % set a { [set I love] }
[set I love]
(bin) 32 % set a "[set I love]"
love
(bin) 34 % set b "$a"
hello
(bin) 35 % set b {$a}
$a
但如果花括号在双引号内,“{$s}”花括号的特殊作用将会被关闭,
其次、在控制结构中表达式和结构体用大括号括起来
第三、函数体或称过程体括起来,起到另外一个关键的作用就是推迟命令体的任何替换操作,直到该过程被调用为止。
注意 if 空格{} 空格{ 在使用花括号或是双引号进行分组时要加上空格符号。
[] 用于命令替换,还有规则表达式,注意用于命令替代的方括号之间的空白不是必须的,
$ 替换用的 $a 表示 a的值,
/ 转义字符 以及一行内容多行表示的时候
# 注释
- 命令选项
% 格式
Tcl中的命令:
定义变量类:
set /unset
字符串处理类:
string -type1 - type2 ... arg1 arg2 arg3...
列表:
source
数组:
实验室关门了,写不完了,明天的任务是把9、 10、 12、 13、 14、 44、45 看完,加油!