TCL的执行分为两步,第一步替换,第二步执行。。

在方括号[]中的内容将在替换步骤中计算出结果,整体替换为结果,类似于C中调用函数。方括号在反斜杠后或在花括号内无此作用。例子:

set b "\[set y {This is a string within braces within quotes}]"  ;#y值有更新

puts $b

输出。。[set y {This is a string within braces within quotes}]

set z {[set x {This is a string within quotes within braces}]} ;#x值有更新

puts $z

输出。。[set x {This is a string within quotes within braces}]

在双引号和花括号中的内容将视为一个参数

在双引号中的内容在替换步骤中,执行替换。。例如, puts "The current stock value is $varName"  中的varName将会被替换为varName的值。

大多在反斜杠后的内容表示不被替换。。如 \",但有一些反斜杠后的内容表示要被替换,如下表中内容。。但是如果一个反斜杠在行尾,表示下一行的内容和这行的内容是同一行,tcl将会用一个空格替换行尾的反斜杠。。

String Output Hex Value
\a Audible Bell 0x07
\b Backspace 0x08
\f Form Feed (clear screen) 0x0c
\n New Line 0x0a
\r Carriage Return 0x0d
\t Tab 0x09
\v Vertical Tab 0x0b
\0dd Octal Value d is a digit from 0-7
\uHHHH H is a hex digit 0-9,A-F,a-f. This represents a 16-bit Unicode character.
\xHH.... Hex Value H is a hex digit 0-9,A-F,a-f. Note that the \x substitution "keeps going" as long as it has hex digits, and only uses the last two, meaning that \xaa and \xaaaa are equal, and that \xaaAnd anyway will "eat" the A of "And". Using the \u notation is probably a better idea.

花括号中的内容将不被替换,除了行尾的反斜杠。。但,据参考链接表示。expr后跟花括号,执行速度更快。i.e. expr {$i*10} 比expr $i*10快

双引号和花括号的这种用法只有当它们用来组织一个参数时才有作用。。例子:

set Z Albany
set Z_LABEL "The Capitol of New York is: "
puts "$Z_LABEL {$Z}"
puts {Who said, "What this country needs is a good $0.05 cigar!"?}

第一行输出。。The Capitol of New York is: {Albany}。。(引号已经起了组织一个参数的作用,故花括号不再起这种作用,作为普通字符)

第二行输出。。Who said, "What this country needs is a good $0.05 cigar!"?

参考链接:https://www.tcl.tk/man/tcl8.5/tutorial/tcltutorial.html

TCL双引号 花括号 中括号相关推荐

  1. 7,tcl双引号和花括号

     关于xilinx vivado FPGA XDC约束的所有讲解文档汇总:关于xilinxvivadoFPGAXDC约束的所有讲解文档汇总_vivado约束-嵌入式文档类资源-CSDN下载 在Tcl中 ...

  2. 读c语言深度剖析 -- 单引号与双引号、逻辑运算符、位运算符、花括号

    单引号与双引号 我们知道双引号引起来的都是字符串常量,单引号引起来的都是字符常量. 比如:'a'和"a"完全不一样,在内存里前者占1个byte,后者占2个byte. 1,'1',& ...

  3. tcl基本语法:中括号[ ]、大括号{ }、双引号“ ”

    文章目录 1.中括号[ ] 2.大括号{ } 3.双引号" " 1.中括号[ ] 将中括号中的指令执行后传回执行的结果 例子 执行结果 set b 8 8 set a [expr ...

  4. Linux中反引号(` `)、单引号(‘ ‘)、双引号(“ “)、花括号({ })的解释

    反引号(` `) 反引号里面的内容必须要是能执行的命令并且有输出信息,变量和命令都识别,并且会将反向单引号的内容当作命令执行后,再交给调用反向单引号命令继续. 一个命令cmd1想调用另一个命令cmd2 ...

  5. python如何去掉list中的中括号、二级列表中的括号、双引号

    一.去掉二级列表中的括号 list_1 = [[1,2,3],[4,5],[6]] list_2 = [int(x) for item in list_1 for x in item] print(l ...

  6. shell中的括号(小括号,中括号,大括号/花括号)

    一.小括号,园括号() 1.单小括号 () ①命令组.括号中的命令将会新开一个子shell顺序执行,所以括号中的变量不能够被脚本余下的部分使用.括号中多个命令之间用分号隔开,最后一个命令可以没有分号, ...

  7. linux 小括号 中括号 双小括号 双中括号

    https://www.cnblogs.com/yasmi/articles/5129571.html 一.小括号,园括号() 1.单小括号 () ①命令组.括号中的命令将会新开一个子shell顺序执 ...

  8. shell-单引号 ,双引号,反引号,括号详解

    一.单引号和双引号 首先,单引号和双引号,都是为了解决中间有空格的问题. 因为空格在linux中时作为一个很典型的分隔符,比如string1=this is astring,这样执行就会报错.为了避免 ...

  9. linux bash shell中,单引号、 双引号,反引号(``)的区别及各种括号的区别

    一.单引号和双引号 首先,单引号和双引号,都是为了解决中间有空格的问题. 因为空格在linux中时作为一个很典型的分隔符,比如string1=this is astring,这样执行就会报错.为了避免 ...

最新文章

  1. user is not in the sudoers file.
  2. 提取手机游戏资源 特效 显存分析工具 无视任何加密
  3. 使用 Benchmark.NET 测试代码性能
  4. CentOS 7 上 Docker 安装
  5. LeetCode 1382. 将二叉搜索树变平衡(中序遍历+二分递归)
  6. 基于深度学习的场景分割算法研究综述
  7. iOS 无法读取包内文件的原因
  8. 直播APP源码网络基础部分处理:
  9. word 文档多级列表编号设置
  10. 值得学习17个C/C++ 超经典开源项目,面试加分
  11. 我的阿里巴巴图标公开库
  12. 【微信开发第二章】SpringBoot实现微信公众号普通消息和模板消息回复
  13. 微信小程序之文件上传PHP后台接收
  14. 操作系统春招面试复习之:文件管理
  15. Go实战--golang中使用Goji微框架(Goji+Mongodb构建微服务)
  16. RS232串口通讯模块
  17. 8.OpenGL学习之颜色混合
  18. CAN 协议控制器和物理总线之间的接口芯片SIT1040T 高速 CAN 总线收发器
  19. lte基站信号测试软件,是德科技TD-LTE基站性能测试方案
  20. 机房空调制冷量计算方法

热门文章

  1. 华为云对象存储服务OBS,海量存储安全可靠,让云存储更加简单
  2. 基于区块链的学生课程成绩查询系统
  3. 北大软微一年ABCD
  4. realsense D435安装时出现Invoking cmake failed,not found ddynamic_reconfigure etc.
  5. 区块链共识机制:分布式系统的Paxos协议
  6. 何为五笔输入的最高境界?
  7. MATLAB添加工具包(详细)
  8. Python语言快速入门(下)
  9. day6python基础数据补充
  10. 搞笑python代码_ZAKER搞机团