QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
本帖最后由 张文汽车 于 2016-7-30 18:19 编辑 2 @1 R4 g& G! ^' p
  TCL脚本语言是一种基于字符串命令的语言,
7 u1 h6 ], W: K/ J; n) b/ ~  数据类型会根据其使用场合进行自动的转换,
! k( r0 F8 X! ^  Q5 U! y  这也是TCL语言最大的一个特点之一。
. A2 M8 t! L7 S& @1 L! g) C  那么这种自动转换一不注意可能不会得到我们想要的结果,
: y+ g( E8 H, m7 I; F  下面看一个实例:  
  1. #首先我们定义两个变量,都是整数的* V' d7 `  B: i0 {4 s2 h1 n& R
  2. set a 10
    ; U6 s- u) X+ f+ L! f8 w7 b
  3. set b 3
    ! D. w8 C) o2 }  i0 w9 e( U1 E
  4. #然后我们再定义一个变量,来接收这两个整数相除得到的结果
    , Y: T3 W+ o8 h" k5 t3 `
  5. set c [expr $a/$b]
    + X3 z1 X. v( g( G
  6. #接下来我们输出c的值
    6 \. S: H! `$ a: t
  7. puts $c2 l% e% W$ G/ ^8 `. g
复制代码
  那么现在问题来了,按我们正常的思路来理解的话,- X& ~* \0 x  Z" v' u$ z; k8 K
  C的值应该是3.3333....,- _3 t4 T& L7 K; L/ q3 Y
  但是我们看到输出的结果却是3" U% Z: O# @7 P' ~  x# i

/ W- X  n# o7 U& R  这是为什么呢?   
* {3 D. R" J) a4 |& |( u/ x5 C8 G0 d& f
. [6 O2 _& C" y" V. ^  这是因为我们定义的a和b都是一个整数变量,
' @) z1 K6 X! u6 o3 D; W  那么对于两个整数变量的操作得到的结果也将是一整数,, P) _, R: {' u
  所以我们看得到的C的值是3也就不奇怪了。
- H  M, S5 Y# d% s8 i3 K, ^  所以我们在定义变量的时候一定要明确变量的数据类型,
) `8 [1 U5 Z9 m. Z  不然可能会得到意想不到的结果。. M4 Z/ e8 z. x. a0 t6 X8 u
  以下是修正后的程式
/ Z1 U3 _! k% ^$ s& F
  1. #首先我们定义两个变量,都是整数的
    $ f4 E& @# M: U+ C* H
  2. set a 10.
      @8 T4 b; ]' |8 K$ {% w
  3. set b 3.
    5 b0 |( S2 i9 ^
  4. #然后我们再定义一个变量,来接收这两个整数相除得到的结果
      y( ]/ k7 x; z! a) ^6 `, ]
  5. set c [expr $a/$b]& C7 M9 m& `6 p, n1 q" y- D5 F
  6. #接下来我们输出c的值1 f! u2 ^+ z# S" T
  7. puts $
    ( X2 R- O4 v- \$ B3 f, R; U$ m8 e* S
复制代码
  快去看看你没有这样的问题吧!!!
3 y/ j* j& G* Y) {$ r

- b4 V$ u: k! l  y% C0 Y* J
 楼主| 发表于 2016-7-30 18:22:45 | 显示全部楼层 来自: 中国上海
在使用过程中大伙肯定也会遇到不小这样的问题,希望大伙能踊跃发言或发帖!!
" t; r1 ?; w! @# D( s
1 g$ k6 M3 I+ I' V. Y; R. r就让我一起共同学习进步吧!!
1 b. u& Z/ \! Q, x& m$ Y
发表于 2016-7-30 19:42:24 | 显示全部楼层 来自: 中国台湾
真是要注意一下資料類型
发表于 2016-8-9 08:52:16 | 显示全部楼层 来自: 中国江苏盐城

  n, ?% J8 ~. i+ x真是要注意一下資料類型
发表于 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 )

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