QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
本帖最后由 张文汽车 于 2016-7-30 18:19 编辑
& ?2 W9 ?' y& |5 M* u7 w  TCL脚本语言是一种基于字符串命令的语言,
: |8 I0 ~+ n$ r$ r, E- l  数据类型会根据其使用场合进行自动的转换,
; X5 t# w. \5 r- s9 x; E  这也是TCL语言最大的一个特点之一。
2 d6 W6 q' F3 }: |" F  那么这种自动转换一不注意可能不会得到我们想要的结果,
. f7 N  R% z; Q  下面看一个实例:  
  1. #首先我们定义两个变量,都是整数的
    9 `+ {3 T* U. l
  2. set a 10
    + M. [, x. H) P9 m3 ~% Q
  3. set b 32 _& {) a" [* p  J, a* C4 ]3 \1 h3 u
  4. #然后我们再定义一个变量,来接收这两个整数相除得到的结果
    ) v9 m9 ^) V8 q0 @. T* l, v- L
  5. set c [expr $a/$b]
    : s2 r6 ~5 @+ I! Q% x% a
  6. #接下来我们输出c的值
    . t( c- E% f$ T: o& h
  7. puts $c
    ( L# O( x: F) P; W. q; l; U4 m
复制代码
  那么现在问题来了,按我们正常的思路来理解的话,3 I- o* u/ u. I1 q" o- f" b6 |6 r
  C的值应该是3.3333....,) i( I8 `+ j/ K* _4 Q2 `
  但是我们看到输出的结果却是34 X$ z8 ?$ P& q! i; Z: Y
  L" Q0 |! s( H; v/ |$ V
  这是为什么呢?   2 x3 y/ W9 V( _8 @5 j
( H# A# N0 x* h8 e. q
  这是因为我们定义的a和b都是一个整数变量,& }: L* |8 A% e" S0 r( \
  那么对于两个整数变量的操作得到的结果也将是一整数,, \; ~) s6 r* S
  所以我们看得到的C的值是3也就不奇怪了。) Z& V" t( S: [% T
  所以我们在定义变量的时候一定要明确变量的数据类型,
5 g2 x% y* y4 F+ J; F  不然可能会得到意想不到的结果。1 l0 N7 p2 v6 h1 _0 y
  以下是修正后的程式
$ |4 c. M3 ?, X; D/ e6 Z, s: Q
  1. #首先我们定义两个变量,都是整数的4 u0 X8 s  ]& C( b
  2. set a 10.
    " z3 w* l+ ~3 p+ d( D. g  O7 a- w
  3. set b 3.
      i% w9 f- L" j1 M* H; ?
  4. #然后我们再定义一个变量,来接收这两个整数相除得到的结果; V, e0 s# [& x; ]/ h6 }
  5. set c [expr $a/$b]
    * K8 a7 p$ S1 P' z7 k! W
  6. #接下来我们输出c的值
    1 \; x6 \  Q% Y- i! @
  7. puts $
    * f& D! H0 n4 A
复制代码
  快去看看你没有这样的问题吧!!!

+ i$ K5 _) w7 o" E+ u5 R3 d) z
$ c# O7 x$ `9 l
 楼主| 发表于 2016-7-30 18:22:45 | 显示全部楼层 来自: 中国上海
在使用过程中大伙肯定也会遇到不小这样的问题,希望大伙能踊跃发言或发帖!!, [& N1 Y6 m# E& w

; p5 n2 C' J' F: R9 ]* \就让我一起共同学习进步吧!!
0 _) w6 l$ H2 x* p
发表于 2016-7-30 19:42:24 | 显示全部楼层 来自: 中国台湾
真是要注意一下資料類型
发表于 2016-8-9 08:52:16 | 显示全部楼层 来自: 中国江苏盐城
2 a6 y! [: h7 g5 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 )

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