首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Common Lisp函数是否返回3个值?

Common Lisp函数可以返回多个值,但是它们是通过一个列表来返回的,而不是像其他编程语言那样通过多个返回值。在Common Lisp中,函数可以返回任意数量的值,这些值被称为多重值(multiple values)。

在函数中使用values关键字可以返回多个值。例如,下面的函数返回两个值:

代码语言:lisp
复制
(defun my-function (x)
  (values (* x 2) (* x 3)))

当调用这个函数时,它将返回两个值,分别是输入参数的两倍和三倍:

代码语言:lisp
复制
(my-function 5)
; => 10, 15

需要注意的是,当函数返回多个值时,它们会被封装在一个列表中。如果需要访问这些值,可以使用multiple-value-bindmultiple-value-list函数。例如:

代码语言:lisp
复制
(multiple-value-bind (a b) (my-function 5)
  (format t "~a, ~a" a b))
; => 10, 15

在这个例子中,multiple-value-bind函数将my-function返回的两个值绑定到变量ab上,然后使用format函数将它们打印出来。

总之,Common Lisp函数可以返回多个值,但是它们会被封装在一个列表中。在需要访问这些值时,可以使用multiple-value-bindmultiple-value-list函数。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【JavaScript】函数 ④ ( 函数返回 | 函数返回语法 return 关键字 | 函数默认返回 undefined )

一、JavaScript 函数返回 1、函数返回引入 JavaScript 函数 可以 实现某种特定的功能 , 执行完毕后 , 可以返回一个 " 返回 " ; 当 函数 被调用执行任务完毕时 ,..." 返回 " 会被返回给调用者 ; 如果 函数 中没有明确 使用 return 关键字 返回 " 返回 " , 那么函数会默认返回undefined ; 2、函数返回语法 在 JavaScript...中 , 函数 返回是 通过 return 语句实现 , 在函数体 中 使用 return 语句 指定函数返回 , 使用 return 语句后 会立即终止函数的执行 , return 返回 语法如下..., 不需要在 函数 声明中注明 返回类型 ; 3、函数默认返回 在下面的代码中 , 定义了 add 函数 , 并且该函数没有 显示使用 return 关键字 返回返回 ; 此时 执行 add 函数...> 执行结果 : 打印出来的 函数返回 是 undefined 未定义 ; 4、函数默认返回 在下面的代码中 , add 函数 中 使用 return 关键字 返回返回

16910

【Python】函数 ③ ( 函数返回定义语法 | 函数返回多个返回 | 代码示例 )

一、函数返回定义语法 在 Python 函数中 , 通过 return 关键字 , 可以返回一个结果给调用者 , 这个返回结果就是 函数返回 ; def 函数名(函数参数): """函数文档字符串...(可选)""" # 函数体 return 返回 调用函数时 , 使用 变量 可以接收函数返回 ; 变量 = 函数(参数列表) 在函数中 , 如果遇到 return 关键字 , 则不会执行后续函数体中的代码..., 可以使用元组(tuple)或者列表(list)存储返回 , 并将其赋值给一个变量 , 下面的代码 , 就是在函数中 , 返回了两个 , """ 函数返回示例 """ # 定义返回多个返回函数...""" 函数返回示例 """ # 定义函数, 并设置函数返回 def add(a, b): return a + b # 接收函数返回 sum = add(1, 2) # 打印函数返回...print(f"函数返回为 {sum}") 执行结果 : 函数返回为 3

53420
  • java:函数--返回多个

    参考链接: 用Java返回多个 在开发过程中,经常会有这种情况,就是一个函数需要返回多个,这是一个问题!!   ...网上这个问题的解决方法:   1、【使用集合类】使用map返回;这个方法问题是,你并不知道如何返回的key是什么,只能通过doc或者通过源代码来查看。   ...java.util.HashMap;import java.util.Map;public class Test {    /**     * 方法1:使用集合类 (Map以外的集合类也可以随意使用)     * 目标:返回一个数组的最大和最小...map.put("max", max);        map.put("min", min);        return map;    }    /**     * 方法2:使用封装对象     * 目标:返回一个数组的最大和最小...    public Result() {        super();    }    // getters/setters(略)}   个人解决方案:  使用EnumMap作为返回类型,自己定义一个

    2.6K30

    stat()函数_stat函数返回

    stat 函数将会帮助我们得到这些信息。 1 stat 函数 1.1 stat 函数的作用 linux 中,可以使用 stat 函数来获取文件相关的信息,就比如说文件的大小,文件的类型等等。...第二个参数是输出参数,用来保存返回的文件信息的结果。 stat 函数返回如果是 0,表示函数执行成功,否则失败。失败后会改写 errno 这个全局变量。...我们可以使用 perror 这个函数打印失败的原因。...3 更加深入 掌握了 stat 函数的用法,相信你不应该止步于此。我们提出的问题是,stat 函数是从哪儿获取到文件信息的?...dir_entry.name == name: // 根据路径中某一层次的名称找到目录项 if dir_entry.file_type == EXT2_FT_DIR: // 判断是是否是目录

    3.3K20

    函数的参数&返回

    ,也是python为了避免出现开发人员在操作函数的过程中 # 如果不明确是否使用全局变量的情况下,无意中覆盖全局变量的 # # 所以,在函数中使用全局变量,必须显示的声明使用哪个全局变量 # 语法是:...、操作函数返回 函数返回通过return关键字来确定 返回的语法结构如下: def 函数名称(参数列表): 函数代码块 return 返回 注意:返回可以是任意对象(python...中一切皆对象) 返回,需要在调用函数的时候进行接收,否则返回也是没有意义的。...() 并且接收了函数执行之后的返回 在后面的代码中就可以直接使用这个返回值了 ''' a = getCircleArea(10); 注意:python中的函数,不论是否写了return关键字,都会有返回的存在...5.3、 函数可以返回多个数据 python的函数比较特殊,在函数执行完成后,通过return关键字可以同时返回多个数据,调用函数的地方根据返回的顺序来接收对应的返回

    4K10

    Linux Shell函数返回

    Shell函数返回,一般有3种方式:return,argv,echo 1) return 语句 shell函数返回,可以和其他语言的返回一样,通过return语句返回。 示例: #!...mytest,根据它输入的参数是否为1来return 1或者return 0....获取函数返回通过调用函数,或者最后执行的获得。 另外,可以直接用函数返回用作if的判断。 注意:return只能用来返回整数值,且和c的区别是返回为正确,其他的为错误。...3) echo 返回 其实在shell中,函数返回有一个非常安全的返回方式,即通过输出到标准输出返回。因为子进程会继承父进程的标准输出,因此,子进程的输出也就直接反应到父进程。...因此不存在上面提到的由于管道导致返回失效的情况。 在外边只需要获取函数返回即可。 示例: #!

    9K20

    php递归函数返回返回不出的问题

    的时候只能打印一个null,一直改都没法解决 后来想到了存session,存session的确解决了,但感觉非常不好 直到我度娘到了&$这个东西, 百度一下释义,说是引用变量 $b=&$a时,当$a变了$b也会变...,$b变了$a也会变,所以经过改进 //分类递归查找上级分类 function get_cat_pid($cat_id,&$data){     $sql = "select cat_id,cat_name...        return;     }else{         return;     } } get_cat_pid($cat_parent_id,$a);   var_dump($a); 解决了递归函数不出的问题...,但我至今还不知道为什么return不出........经过了大神的教诲,现在终于明白为什么会返回null了 函数的return是返回给调用这个函数,当循环两次为0时,会返回给循环第一次的本身函数,然后再返回给调用函数的... 大神原话 ?

    4.5K20

    python基础----函数作为返回

    从一个例子讲起 高阶函数除了可以接受函数作为参数外,还可以把函数作为结果返回。...解决方法是:将函数作为返回返回,不返回结果只返回函数 解决方法代码: def lazy_sum(*args): def sum(): ax = 0 for n...sum这个函数并没有返回函数计算得到的 可以这样调用: >> f() >> 22 此时才是真正的计算出函数值; 闭包 我们在函数lazy_sum中又定义了函数sum,并且,内部函数sum可以引用外部函数...等到3个函数返回时,它们所引用的变量i已经变成了3,因此最终结果为9; 返回闭包时牢记的一点就是:返回函数不要引用任何循环变量,或者后续会发生变化的变量。 如果一定要引用循环变量怎么办?...方法是再创建一个函数,用该函数的参数绑定循环变量当前的,无论该循环变量后续如何更改,已绑定到函数参数的不变: >>> def count(): ... fs = [] ...

    1.1K50
    领券