小心返回类型陷阱

avatar 2017年11月7日22:56:37 评论 1,319

在之前对于易语言基础教程的学习过程中,曾经有这么一位同学遇到这么一个问题:

小心返回类型陷阱

该同学检查了好几遍都百思不得其解为什么自己会出错,为什么软件不能正常的运行起来。

其实在初学易语言的阶段,部分同学也遇到过一样的困惑情况,这时候我们就需要掌握正确的调试代码和纠错的方法了。

首先软件无法正常运行起来,易语言一般都会人性化的给出一些错误建议,这一点,我们可以在左下角看到错误的提示:

不能将“逻辑型”数据转换到“文本型”数据。

好好学过基础中的数据类型的同学看到这里就应该明白了,哦原来错在了本来应该给个文本型数据的而我们给的是逻辑型数据。

而有的同学又有疑问了,我哪知道到底是哪一行出了问题呢?这个答案很简单,因为在给出错误提示的同时,易语言也会自动的将光标停留在出错行的那里,我们发现代码中返回所在的那一行有光标在闪烁,这说明我们这一行错误了。

而深究原因,我们可以看一下返回这个命令的帮助文档:

调用格式: 〈无返回值〉 返回 ([通用型 返回到调用方的值]) - 系统核心支持库->流程控制
英文名称:return
本命令转移当前程序执行位置到调用本子程序语句的下一条语句处,并可根据需要返回一个值到子程序调用处。本命令为初级命令。
参数<1>的名称为“返回到调用方的值”,类型为“通用型(all)”,可以被省略。

操作系统需求: Windows、Linux、Unix

从帮助文档中可以看到,返回这个命令的参数是要返回的值,我们这个子程序设定了返回值是文本型的数据,那么按理说我们的返回命令括号中就需要填入一个文本型的数据。而我们填入的是文本内容 = “我爱雪山凌狐教程”。这句话不单独放在一行的时候,放在一个参数中的时候,等于号的作用是判断两边是否相等的作用,而不是赋值了。因此写上这句话以后返回的整体应该是一个逻辑型结果,从而导致错误。

找出问题所在之后,我们就可以对症下药了,我们知道当等于号单独放在一行的时候就可以变成赋值的作用了,因此我们单独把赋值语句放在一行,而把文本内容这个变量放在返回命令的参数之中。

运行效果如下:

小心返回类型陷阱

运行成功!

 

从这个小例子我们也可以学习到一般的代码调试的方法,希望大家可以放到今后的学习当中去,祝愿大家的学习之路越来越好!

 

感谢大家的收看,我们下期再见!

avatar

发表评论

您必须才能发表评论!