QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 2571|回复: 5
收起左侧

[原创] TCL脚本语言常见错误用法一例,快来看看你用错了没有吧!

[复制链接]
发表于 2016-7-30 18:06:14 | 显示全部楼层 |阅读模式 来自: 中国上海

马上注册,结识高手,享用更多资源,轻松玩转三维网社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
本帖最后由 张文汽车 于 2016-7-30 18:19 编辑 2 l& h* j5 S  z/ W4 E
  TCL脚本语言是一种基于字符串命令的语言,1 }! s) T. [8 _! O- M( n
  数据类型会根据其使用场合进行自动的转换,
' I) f- c. W2 j5 S  这也是TCL语言最大的一个特点之一。. @2 k! c) `$ N7 B  d) r- t* z
  那么这种自动转换一不注意可能不会得到我们想要的结果,
" F( P$ g: L, ]: t% h" T3 v  下面看一个实例:  
  1. #首先我们定义两个变量,都是整数的  G' ?0 E1 u" f  f5 q" ^" @
  2. set a 104 [3 I% p1 B( v3 e- V5 p, f
  3. set b 3: [- G7 L. d4 J2 t1 G1 Y
  4. #然后我们再定义一个变量,来接收这两个整数相除得到的结果
      N9 y, R" U; ]( C
  5. set c [expr $a/$b]
    . C7 r; G. O& J, a
  6. #接下来我们输出c的值+ K* O2 {* V& v6 L, _
  7. puts $c
    2 r, [; |3 R1 ^) s8 W* b* w" m9 y
复制代码
  那么现在问题来了,按我们正常的思路来理解的话,; N7 K+ @( M% m& z
  C的值应该是3.3333....,
0 B, r: q5 R# X/ G( {$ M( X  但是我们看到输出的结果却是39 H3 M# s1 {) t  \& I8 J

- `6 H) D& F: B  这是为什么呢?   ; V0 J7 ?8 b9 u+ X

1 u2 u8 F9 p: N; N; O- _  这是因为我们定义的a和b都是一个整数变量,
3 d  R; d! }6 `  那么对于两个整数变量的操作得到的结果也将是一整数,
" n- x* U$ w; u8 j0 h3 }' C( `# `  所以我们看得到的C的值是3也就不奇怪了。. L# R+ b) p- J( `
  所以我们在定义变量的时候一定要明确变量的数据类型,8 \6 M$ w! m% Q% Q' `  ^8 T! g7 u
  不然可能会得到意想不到的结果。0 D2 B/ M0 Y: Q" _
  以下是修正后的程式7 ]. W6 D* [  u$ \$ J! Y5 U5 G
  1. #首先我们定义两个变量,都是整数的
    : [* v+ X3 ?( z* o/ v
  2. set a 10.1 f( Y0 c- v, ^# x: e
  3. set b 3.
    ( b, s# o' O* `% W" u9 G/ A
  4. #然后我们再定义一个变量,来接收这两个整数相除得到的结果5 j4 l8 I$ S8 ^  U9 O  s
  5. set c [expr $a/$b]
    " Y! d5 Q- K; ~$ y2 n4 w
  6. #接下来我们输出c的值% Q7 B& U  z& ~$ w
  7. puts $
    3 ~1 m9 ]/ o3 h$ S: p( r  U: H& P& j
复制代码
  快去看看你没有这样的问题吧!!!
  L! n6 \0 L' A

9 \: i% U/ |" p% c
 楼主| 发表于 2016-7-30 18:22:45 | 显示全部楼层 来自: 中国上海
在使用过程中大伙肯定也会遇到不小这样的问题,希望大伙能踊跃发言或发帖!!
2 Y7 m' M# C! V
7 [2 y3 t, K7 U5 S9 m就让我一起共同学习进步吧!!
; J% o$ n3 g: l- v4 |/ ~
发表于 2016-7-30 19:42:24 | 显示全部楼层 来自: 中国台湾
真是要注意一下資料類型
发表于 2016-8-9 08:52:16 | 显示全部楼层 来自: 中国江苏盐城

# V6 F1 k# v. D. q真是要注意一下資料類型
发表于 2016-9-17 21:31:38 | 显示全部楼层 来自: 中国江苏无锡
受教了,多谢楼主
发表于 2017-4-30 09:02:43 | 显示全部楼层 来自: 中国江苏
对于初学TCL的我们来说,还是有相当大的教学意义的。
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


Licensed Copyright © 2016-2020 http://www.3dportal.cn/ All Rights Reserved 京 ICP备13008828号

小黑屋|手机版|Archiver|三维网 ( 京ICP备2023026364号-1 )

快速回复 返回顶部 返回列表