QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
本帖最后由 张文汽车 于 2016-7-30 18:19 编辑 3 \/ Y- l  D7 e6 Y
  TCL脚本语言是一种基于字符串命令的语言,
% m1 l& p5 x* R3 k, J" v  数据类型会根据其使用场合进行自动的转换,
" F$ d0 b; Z: J% b. g  这也是TCL语言最大的一个特点之一。
# O$ F1 k/ `  L( o: f4 W  那么这种自动转换一不注意可能不会得到我们想要的结果,
. N1 i! Y+ G1 {; y  下面看一个实例:  
  1. #首先我们定义两个变量,都是整数的
    4 X$ a3 d+ t0 ]5 n! r+ ~
  2. set a 10. d. \$ J1 L, X) k
  3. set b 3  m% d; g; m2 q* F" ?1 j
  4. #然后我们再定义一个变量,来接收这两个整数相除得到的结果1 x8 E' }' k. T. W) |4 R& x
  5. set c [expr $a/$b]
    & z2 }* B; V7 @7 n# [
  6. #接下来我们输出c的值
    + ^8 t" `( |& g6 T
  7. puts $c
    - t' u: o+ s8 }$ w( z. h
复制代码
  那么现在问题来了,按我们正常的思路来理解的话,
" l8 r- _' r" }  C的值应该是3.3333....,
3 i" D6 N/ M% O) r  但是我们看到输出的结果却是3  z- `- @3 p, t0 A/ E/ @# G% R9 A2 b
& z( S& @5 s: t" }2 \/ I$ `8 w2 O
  这是为什么呢?   
( W8 N# X$ @- }9 _+ C$ @5 Q3 |3 ]1 P! o; |+ O' v
  这是因为我们定义的a和b都是一个整数变量,( I$ G4 m; `0 a4 l
  那么对于两个整数变量的操作得到的结果也将是一整数,& ^1 j' D: @% c' ]& Q  s
  所以我们看得到的C的值是3也就不奇怪了。/ t" J1 A5 a4 F
  所以我们在定义变量的时候一定要明确变量的数据类型,( v( K& b4 }) W4 \5 F
  不然可能会得到意想不到的结果。5 A' O3 N( W& [) m
  以下是修正后的程式( ~' L# |( m- e3 u. V
  1. #首先我们定义两个变量,都是整数的2 }7 t) P$ g/ ^# Z! X" g
  2. set a 10.% ]' l5 r5 o" v* N% n! X$ H3 \* r
  3. set b 3.. G7 Q( k1 `  H" P0 {. @* t8 j
  4. #然后我们再定义一个变量,来接收这两个整数相除得到的结果0 d" D0 b* f: P  [
  5. set c [expr $a/$b]
    * w( o( `6 E4 {) c4 w! t
  6. #接下来我们输出c的值
    $ o4 R, R% C/ ?  F1 X( d
  7. puts $
    9 Y1 B. e' s* x
复制代码
  快去看看你没有这样的问题吧!!!

. d+ d5 W6 z1 S$ `, x! F6 f
- Z1 J! E% b+ F0 z) e
 楼主| 发表于 2016-7-30 18:22:45 | 显示全部楼层 来自: 中国上海
在使用过程中大伙肯定也会遇到不小这样的问题,希望大伙能踊跃发言或发帖!!
/ ^% g% s8 J6 z- M) o# \, h7 O, T2 F5 o/ a/ I" v
就让我一起共同学习进步吧!!
2 ?6 W( a. k* ~5 h1 x& y% y
发表于 2016-7-30 19:42:24 | 显示全部楼层 来自: 中国台湾
真是要注意一下資料類型
发表于 2016-8-9 08:52:16 | 显示全部楼层 来自: 中国江苏盐城

/ P+ `  Q4 c: u真是要注意一下資料類型
发表于 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 )

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