|
|
如果你觉得本教程对你有帮助,欢迎大家转载到各大论坛博客。转载还请注明出处哦{:soso_e113:}。老罗感谢大家一直以来的支持!{:soso_e100:}
上节课只是简单的讲解了函数的概念,不知道大家对函数理解得怎么样了。如果学习过程中有什么问题,各位同学可以直接发帖互相讨论,以便其他人遇到相同的问题可以参考解决。我一个人的时间有限,不能对每个人遇到的问题都一一解答,还忘理解。所以大家遇到问题还是多多发表求助。
1.函数的定义方法
上节课学习了函数的概念,相信大家对函数都有了基本的理解。之前几节课程里面使用了defun来定义一个函数。在Skill中,还可以使用procedure来定义函数。
大家可能都注意到了,使用defun定义的话,在函数名后面必须要有一个空格,而使用procedure定义的话,则不能有空格,这是两种方式定义的区别。
例如使用defun定义一个函数MyFunc:
- defun( MyFunc ()
- nil
- );end defun
复制代码
等同于使用procedure定义,注意procedure函数名后面没有空格。
- procedure( MyFunc()
- nil
- );end procedure
复制代码
假如defun定义的函数名后没有跟空格的话,allegro会提以下的报错:
E- *Error* defun: too few arguments (at least 3 expected, 2 given) - (MyFunc nil)
E- *Error* load: error while loading file - "F:/MySkill/funcDef.il" at line 3
假如使用procedure定义的函数名后跟了空格的话,allegro也会提示相应的报错
E- *Error* procedure: illegal formal list - MyFunc
E- *Error* load: error while loading file - "F:/MySkill/funcDef.il" at line 2
各位同学可以将以上的代码写到一个il文件,分别测试下两者函数定义的区别,然后使用Skill Debuger调试工具加载,看是否加载成功。
注:大家以后可根据自己习惯选择defun或者procedure定义,两者唯一的区别就是函数名后面是否跟空格。
2.函数的结构
如果你觉得本教程对你有帮助,欢迎大家转载到各大论坛博客。转载还请注明出处哦{:soso_e113:}。老罗感谢大家一直以来的支持!{:soso_e100:}
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|