QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
本帖最后由 张文汽车 于 2016-7-30 18:19 编辑 5 D$ B, F, Z% o7 U1 |; Y) m, a9 Q
  TCL脚本语言是一种基于字符串命令的语言,
# k6 ~8 h" ]- q+ Z4 O5 u  数据类型会根据其使用场合进行自动的转换,
  I4 b; l3 I4 ~* w$ I" M  这也是TCL语言最大的一个特点之一。) D7 _% |* R4 D3 }" W
  那么这种自动转换一不注意可能不会得到我们想要的结果,8 I- V" T, A" y2 V8 u& t
  下面看一个实例:  
  1. #首先我们定义两个变量,都是整数的$ {# l/ I. _+ q  c3 l2 ?: _2 m
  2. set a 10
    ; G7 M1 G% u$ G: }
  3. set b 3
    ) c+ T& C5 ~# Y# B. T( _$ @& M
  4. #然后我们再定义一个变量,来接收这两个整数相除得到的结果
    ! ]% `2 C  _" T( ]  L
  5. set c [expr $a/$b]' n1 M/ Y. S/ o
  6. #接下来我们输出c的值
    4 ?% B7 z2 h+ a, h; Z
  7. puts $c% n5 `' [4 d. q4 W* s7 c1 ^
复制代码
  那么现在问题来了,按我们正常的思路来理解的话,
' P8 _: t) r9 Y  C的值应该是3.3333....,
: I* _' k' I$ n  但是我们看到输出的结果却是3  w+ q( i& M$ w0 c- i8 t  K

8 I( R7 p5 R6 K5 ]  这是为什么呢?   
8 T. a; n- P; ]4 \0 f) v
/ X% }/ u" b, _+ k- t  这是因为我们定义的a和b都是一个整数变量,- C% k+ H& l+ W' N9 g- Z
  那么对于两个整数变量的操作得到的结果也将是一整数,2 q0 V. I9 b9 h* W% i$ p
  所以我们看得到的C的值是3也就不奇怪了。
6 {5 u; N5 Z* x& m8 j3 G3 ?! s  所以我们在定义变量的时候一定要明确变量的数据类型,
5 L  M- `# ^5 L% Q' P  不然可能会得到意想不到的结果。9 z0 q. V3 n3 \+ M9 o7 Z, U" B
  以下是修正后的程式3 a& J! ^; Q7 f3 q8 v
  1. #首先我们定义两个变量,都是整数的$ A# `% [( w. C& U7 F+ c
  2. set a 10.' ^# R" ]1 O0 n) }
  3. set b 3.7 i) O  R+ K, i  W% J* Z
  4. #然后我们再定义一个变量,来接收这两个整数相除得到的结果
    2 P9 u' X* p( I+ x. X$ }
  5. set c [expr $a/$b]
    1 K/ g  N$ p; e7 E/ U
  6. #接下来我们输出c的值
    + t3 e1 o  S3 k# \1 }2 V
  7. puts $
    3 u( u* ~! B# F) @% H5 @
复制代码
  快去看看你没有这样的问题吧!!!
6 _& w/ @; h0 `2 H1 D

) m5 ?2 V+ O- j/ E7 J4 [; C
 楼主| 发表于 2016-7-30 18:22:45 | 显示全部楼层 来自: 中国上海
在使用过程中大伙肯定也会遇到不小这样的问题,希望大伙能踊跃发言或发帖!!
$ V$ {! B7 z- V: F
4 t$ X2 `. M  j& e. G( I就让我一起共同学习进步吧!!0 |" v3 U8 y  ]4 M& p( K6 B
发表于 2016-7-30 19:42:24 | 显示全部楼层 来自: 中国台湾
真是要注意一下資料類型
发表于 2016-8-9 08:52:16 | 显示全部楼层 来自: 中国江苏盐城
' R2 m7 [% k- b2 O5 [1 _5 Z, |
真是要注意一下資料類型
发表于 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 )

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