首页
学习
活动
专区
工具
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 关键字 返回返回

8410

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

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

38420

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.5K30

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: // 判断是是否是目录

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中,函数返回有一个非常安全的返回方式,即通过输出到标准输出返回。因为子进程会继承父进程的标准输出,因此,子进程的输出也就直接反应到父进程。...因此不存在上面提到的由于管道导致返回失效的情况。 在外边只需要获取函数返回即可。 示例: #!

8.6K20

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.4K20

返回函数_void函数怎么用

通常,希望通过函数使主调函数得到一个确定的,这就是函数返回。 说明:1、函数返回是通过函数的return语句获得的。 (1)return语句将被调函数中的一个确定带回主调函数中去。...(2)若需要从被调函数带回一个供主调函数使用,被调函数必须包含return语句。如果不需要就可以不带。...x:y);   } 2、(1)函数返回应当属于某一个确定的类型,在定义函数时指定函数返回的类型。...3、(1)在定义函数时指定函数的类型一般应和return语句中的表达式类型一致。如果函数值的类型和return语句表达式的不一致,则以函数类型为准。对数值型数据可以自动进行类型转换。...(2)对于不带回函数,应当用“viod”定义函数为无类型(空类型)。这样,系统就保证不使函数带回任何。此时,在函数体中不得出现return语句。

1.2K10
领券