QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
本帖最后由 张文汽车 于 2016-7-30 18:19 编辑
7 K0 p5 ?3 S: c  TCL脚本语言是一种基于字符串命令的语言,1 J. g6 M# s) n9 L
  数据类型会根据其使用场合进行自动的转换,! ]8 D/ [$ K. {5 [. }
  这也是TCL语言最大的一个特点之一。0 J7 A6 l' |1 B6 N
  那么这种自动转换一不注意可能不会得到我们想要的结果,4 z0 j, ?  B5 M- j+ u3 ]4 D
  下面看一个实例:  
  1. #首先我们定义两个变量,都是整数的
    + S' j# n$ I8 i1 T0 C- R& B* ^
  2. set a 10
    * s6 E8 D- ?' V: f* L. U3 ]
  3. set b 3. S$ A0 p% n; y' u0 P' s
  4. #然后我们再定义一个变量,来接收这两个整数相除得到的结果
    8 N+ |) V/ j: U1 v# m
  5. set c [expr $a/$b]
    ; u3 Z2 P$ g& b1 H; h$ I) C: ^
  6. #接下来我们输出c的值
    * g% i8 r4 ]& t4 A4 P, j
  7. puts $c
    * V0 e: z% b  Y% i
复制代码
  那么现在问题来了,按我们正常的思路来理解的话," X( m' m/ j5 q- G9 M) x8 h
  C的值应该是3.3333....,
6 m; h" J% W: _+ I1 }: L  但是我们看到输出的结果却是3% G* Q6 g9 M& Y, r

+ G3 U0 F) C( \' @6 I  这是为什么呢?   
& i* I" F: c" b3 O) y- ?  e( x" e1 C
$ I5 c( f; s: Z6 M! s2 n  这是因为我们定义的a和b都是一个整数变量,2 K) ~1 K) Z* u( e+ t, h8 Q
  那么对于两个整数变量的操作得到的结果也将是一整数,% i' o" Q) X* X/ c1 B* C$ G
  所以我们看得到的C的值是3也就不奇怪了。! s4 B9 a& R- B
  所以我们在定义变量的时候一定要明确变量的数据类型,  v. `: U, ^2 a2 x
  不然可能会得到意想不到的结果。
* o' G" e, f! a$ z  以下是修正后的程式
5 g! K1 m) C  w; W+ m) \
  1. #首先我们定义两个变量,都是整数的/ L8 v% F6 I0 [3 P
  2. set a 10.$ N7 H8 ]/ e6 L( |, ~/ X
  3. set b 3.5 G: f0 D7 V* A
  4. #然后我们再定义一个变量,来接收这两个整数相除得到的结果% h7 _  b0 o- P: F7 P/ H  A+ [
  5. set c [expr $a/$b]
    . C% s* L6 U" G7 s2 a2 `
  6. #接下来我们输出c的值
    1 E- I7 O% E  G9 K7 I% T( \; u; I
  7. puts $
    , e$ j4 l7 q& }  d8 S
复制代码
  快去看看你没有这样的问题吧!!!

8 `+ [! x$ \" C) J' A7 [# k! r% o/ X: l6 V) A! v) k1 Y  D0 `9 a# g$ ]
 楼主| 发表于 2016-7-30 18:22:45 | 显示全部楼层 来自: 中国上海
在使用过程中大伙肯定也会遇到不小这样的问题,希望大伙能踊跃发言或发帖!!
6 u5 S9 i& l! a; L* u0 Z- L7 p( E' v8 u: |8 G/ p
就让我一起共同学习进步吧!!
, j) ~0 ^( _9 ^3 t0 s6 l
发表于 2016-7-30 19:42:24 | 显示全部楼层 来自: 中国台湾
真是要注意一下資料類型
发表于 2016-8-9 08:52:16 | 显示全部楼层 来自: 中国江苏盐城

9 v$ Y0 c, z2 \: k4 g真是要注意一下資料類型
发表于 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 )

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