Common lisp学习笔记(7):定义函数

《Successful Lisp》Chapter 3 - Essential Lisp in Twelve Lessons
Lesson 7 - Essential Function Definition读书笔记.

通过defun定义函数

(defun 猜数字 (数字)
    "简单的猜数字游戏,给这个函数一个数字参数,然后函数返回一些返回信息"
    (let ((随机数字 (random 100)))
        (cond (< 数字 随机数字) (print "小了!")
              (> 数字 随机数字) (print "大了!")
              (= 数字 随机数字) (print "猜对了!"))))

在defun后有四个部分,第一部分:函数名——猜数字;第二部分:函数参数列表,可以为空或者任意多,当然也可以定义可选参数、剩余参数;第三部分:函数的文档,用来描述函数,并可以用(documentation 猜数字)的形式调用,不过这部分可有可无;第四部分:函数体。
用defun定义的函数总会和函数名这个符号绑定在一起,所以称之为有名函数。

使用lambda定义匿名函数

匿名函数被用于只需要被调用一次或是临时需要函数的场合。

(lambda (x) (* x x);求值返回了一个函数
-> #<FUNCTION (LAMBDA (X)) {100510D78B}>
((lambda (x) (* x x)) 2)
-> 4

lambda形式应该出现在需要函数的地方

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lockedkey

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值