TC官方合作论坛

 找回密码
 立即注册
查看: 385|回复: 7
打印 上一主题 下一主题

[已解决] 帮助文件里对局部变量的一个解释不明白

[复制链接]
跳转到指定楼层
楼主
发表于 2013-9-8 22:53:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上加入TC

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

x
空间 测试
功能 局部变量演示1()
  如果(真)
    变量 名称="张三"
    辅助.消息框(名称) // 1 正确
  否则
    变量 名称="李四"
    辅助.消息框(名称)// 2 正确
  如果结束
  循环(真)
    辅助.消息框(名称)// 3 报错
  循环结束
  辅助.消息框(名称)// 4 报错
功能结束

功能 局部变量演示2()
如果(真)
  变量 名称="张三"
  如果(真)
    辅助.消息框(名称) // 1 正确
  否则
    辅助.消息框(名称)// 2 正确
  如果结束
如果结束
  循环(真)
    辅助.消息框(名称)// 3 报错
  循环结束
  辅助.消息框(名称)// 4正确
功能结束

空间结束

倒数第三行“辅助.消息框(名称)// 4正确 ”我认为是错误的,谁可以给解析一下,?谢谢
回复

使用道具 举报

地板
发表于 2013-9-9 00:26:41 | 只看该作者
你的想法是正确的,这是帮助文档的错误。其实帮助文档中的错误绝不止你发现的那一个。呵呵
回复 支持 反对

使用道具 举报

沙发
 楼主| 发表于 2013-9-8 22:55:34 | 只看该作者
局部变量:局部变量定义在功能里面,那么它的作用域就被限制在功能里,不能跨功能调用局部变量在功能与流程语句之间定义的变量,整个功能里都可以使用,但是在流程语句里定义的变量就只能在流程语句使用,不能在流程语句之外使用,也不能跨流程语句使用,除非调用的流程语句是嵌套在变量定义的流程语句里局部变量离开自己的作用域之后,变量里的所有内容都会被TC释放掉的如果想让这个局部变量值在其他地方可以使用,可以采用赋值给全局变量或者是作为功能的返回值返回调用者
   这是局部变量的定义,  这个局部变量在预聚体中,倒数第三行怎么可以使用呢??
回复 支持 反对

使用道具 举报

板凳
发表于 2013-9-9 00:00:23 | 只看该作者
4是错误呀   你没测试好
回复 支持 反对

使用道具 举报

5#
发表于 2013-9-9 00:29:47 | 只看该作者
msdn都有错误呢?这其实很正常。文档都是人编写的嘛,又不能调试。
回复 支持 反对

使用道具 举报

6#
发表于 2013-9-9 09:14:46 | 只看该作者
变量不要在那些流程控制块中定义  比如 如果  循环 遍历啊, 谁知道你的代码执行会不会进入这个块里 进行定义操作, 而且TC编译时语法检测时也有个规则,流程块内定义的变量,流程块外使用应该不可能编译过去的,因为不确定你的代码是否会进入这个流程块内进行变量定义啊。

还有对于2楼的回答有点问题,局部变量就是局部变量,没什么再分流程块中还是流程块外的,你定义在流程块中,只能说你的脚本架构混乱,甚至可以说就是你语法问题,之所以块内定义,块内可以用,是tc的编译器知道你在块内进行定义操作,所以在这个块内使用,这个变量时一定存在的,所以不会报错
回复 支持 反对

使用道具 举报

7#
 楼主| 发表于 2013-9-9 10:35:04 | 只看该作者
谢谢大家的解析
回复 支持 反对

使用道具 举报

8#
发表于 2013-9-9 16:19:00 | 只看该作者
哦,已经解决了
回复 支持 反对

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18043773号

GMT+8, 2025-10-2 19:17 , Processed in 0.183778 second(s), 24 queries .

Powered by 海安天坑软件科技有限公司

© 2001-2013 Comsenz Inc.

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