crazystone 发表于 2007-5-25 12:38:38

TCL的老鸟来看看

昨天刚上了TCL,老师讲了"\["可以置换,如:
%set b \↓
结果是:%.
但是我在学习中碰到了一个问题:
%set a 1
%1
%set b 2
%2
%set
没有结果,而且前面的%没了,怎么弄也弄不出来,必须关掉重新进来才行
这是不是一个Bug呢?还是一个隐藏的命令?因为它什么错误提示都没有,有办法解决吗?

MarsNoNo 发表于 2007-5-25 14:40:20

很有趣的现象!我把你这段代码写成了文件,用source执行,提示错误为:miss close-bracket,缺少括号.
至于是什么问题,我也不太明白。我先冒充一下老鸟吧,“\”是置换相当于C中的转义,我是这样理解的,TCL中的“[”和空格这两个字符是特殊字符(能算成系统保留的吧?!)所以,你需要得到这些字符的时候,就需要进行转义了,但是“]”并不是特殊字符,在它之前使用“\”,就把它给屏蔽掉了,所以会提示“缺少括号”,但是在编辑器中执行上面的代码后,提示符没了,后面输入什么都没用,除了“Ctrl+C”哈哈……,重新进编辑器才行。希望真正的老鸟来解决一下这个问题。因为我也是菜鸟,静候佳音了!
p.s.:LZ,如果编辑器不能提供出错信息的话,那换个方式就能得到这个错误信息了。

MarsNoNo 发表于 2007-5-25 15:00:17

再说一点点,就一点点,沙发没坐热,再把椅子也抢了,sdlkfj3
LZ,如果你真要得到“”的输出,可以这样写代码的:
set c \
用两个置换,OK了!

lhjtc8257 发表于 2007-5-25 19:49:04

我也碰到的
你输入
%set a 1
%1
%set b 2
%2
%set    等于在输入一行(也就是说不换行)

只要输入个 “ ] ” 然后回车就可以了
我的理解是,当“ ] ”前面是“ \ ”的时候,“ ] ”被认为是一个字符,对于程序而言缺少个结束标志“ ] ”,
所以。。。

(随便问下,你是19期的那位啊,ME TOO)

[ 本帖最后由 lhjtc8257 于 2007-5-25 21:04 编辑 ]

MarsNoNo 发表于 2007-5-25 22:43:18

3楼的,解惑了,受教!!!!谢谢。

songfun 发表于 2007-5-26 19:53:41

呵呵,其实不是bug。
\]实际上把 这个“右耳朵括号”置换走了,而 他的“左耳朵括号”并没有偶被你置换,所以出现了那个现象。
就像楼上的同学说的那样 sdlkfj2


原帖由 crazystone 于 2007-5-25 12:38 发表 http://bbs.51testing.com/images/common/back.gif
昨天刚上了TCL,老师讲了"\["可以置换,如:
%set b \↓
结果是:%.
但是我在学习中碰到了一个问题:
%set a 1
%1
%set b 2
%2
%set
没有结果,而且前 ...

crazystone 发表于 2007-5-26 21:17:21

那么多人帮忙真好~~~我明白了~真名保密
页: [1]
查看完整版本: TCL的老鸟来看看