首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

Lisp语言:函数的可选参数,剩下参数以及关键字参数

2012-06-20 
Lisp语言:函数的可选参数,剩余参数以及关键字参数上一篇有关Lisp函数的文章简单介绍了函数的定义和调用,其

Lisp语言:函数的可选参数,剩余参数以及关键字参数

上一篇有关Lisp函数的文章简单介绍了函数的定义和调用,其中使用的参数是一般的参数。为了方便大家,将那篇文章的链接列出:

http://blog.csdn.net/keyboardota/article/details/7642767

如上文所述,如果定义函数时定义的是一般的参数,调用函数时传入参数的数量必须和函数定义的参数的数量相同,参数太多或者太少都会导致程序错误。

这样的函数调用起来真是有点不灵活,无法根据需要灵活传入不同数量的参数。在Lisp中解决这个问题的方法有几种,它们是可选参数剩余参数关键字参数,分别对应不同的使用场景。


可选参数

就如同它的名字所说明的一样,如果一个函数的一部分参数是选的,就适合使用可选参数。

比如现实使用中有一个记录人员信息的函数,要求必须提供“身份证号”和“姓名”两项内容,同时可以附加提供“身高”和体重两项,则可以把“身份证号”和“姓名”定义为必须参数,而“身高”和“体重”可以定义为可选参数。这样函数调用的时候就比较灵活,如果用户提供了“身高”和“体重”两项内容则将则两项传入函数中,如果没有提供这些信息就忽略这两个参数。

可选参数的定义使用&optional关键字,后面跟随的就是可选参数,下面是一个简单的样例: