美文网首页
4.4函数(程序):lambda

4.4函数(程序):lambda

作者: jarod_chan | 来源:发表于2015-11-21 17:09 被阅读42次

lambda表达是创建了一个函数。

(lambda  (arg-id ...)
    body ...+)

4.4.1声明剩余参数

  (lambda rest-id
    body ...+)

lambda表达是能有一个rest-id没有括号。函数能接受任意参数,参数列表和rest-id绑定。
lambda也支持参位置参数和剩余参数。

  (lambda (arg-id ...+ . rest-id)
    body ...+)

这种函数必须接受位置参数个数的参数,也接受任意数量的额外参数。

4.4.2声明可选参数

参数可以指定默认值。

(lambda gen-formals
  body ...+)
  gen-formals=(arg ...)
                     |rest-id
             |(arg ...+ . rest-id)               
                arg=arg-id
              |[arg-id default-expr]

一个参数指定默认值以后,其后的所有参数都要指定默认值。

4.4.3申明关键字参数

(lambda gen-formals
  body ...+)
  gen-formals=(arg ...)
                     |rest-id
             |(arg ...+ . rest-id)               
                arg=arg-id
              |[arg-id default-expr]
                      |arg-keyword arg-id
                      |arg-keyword [arg-id default-expr]

使用 make-keyword-procedure可以接收关键字参数和剩余参数。

4.4.4参数数量敏感函数

  (case-lambda
    [formals body ...+]
    ...)
    formals=(arg-id ...)
         |rest-id
         |(arg-id ...+ . rest-id)

类似case语句,根据参数决定执行的方法体。case-lambda不能直接支持关键字参数和可选参数。

相关文章

  • 4.4函数(程序):lambda

    lambda表达是创建了一个函数。 4.4.1声明剩余参数 lambda表达是能有一个rest-id没有括号。函数...

  • map和lambda表达式

    一. lambda 匿名函数lambda:是指一类无需定义标识符(函数名)的函数或子程序。 lambda 函数可以...

  • Python之lambda 函数理解

    匿名函数lambda:是指一类无需定义标识符(函数名)的函数或子程序。 lambda 函数可以接收任意多个参数 (...

  • 函数式编程lambda式

    前言 函数式编程会让程序更加简洁,更有可读性, 三个特性 lambda函数有如下特性: lambda函数是匿名的:...

  • 第四章 基本TCP套接字编程

    基本TCP客户/服务程序的套接字函数 4.3Connect函数 4.4 bind函数 bind函数把一个本地协议赋...

  • Python基础——匿名函数+作用域

    一、匿名函数:lambda 函数名 = lambda 参数: 表达式 1、有名函数 2、匿名函数lambda [ ...

  • Python学习第五章

    lambda函数 lambda保留字用于定义一种特殊的函数——匿名函数,又称lambda函数。匿名函数并非没有名字...

  • python lambda函数

    lambda 是匿名函数 用来表达简单的函数使用lambda函数应该注意的几点: lambda定义的是单行函数,...

  • Java笔记之Java8新特性

    本笔记来自 计算机程序的思维逻辑 系列文章 Lambda表达式 Lambda表达式 语法 匿名函数,由 -> 分隔...

  • Python lambda函数

    lambda函数 在Python中,lambda函数是使用lambda表达式定义的单行匿名函数。它常用于将函数作为...

网友评论

      本文标题:4.4函数(程序):lambda

      本文链接:https://www.haomeiwen.com/subject/zlekhttx.html