gpt4 book ai didi

functional-programming - LISP - 破坏性和非破坏性结构

转载 作者:太空宇宙 更新时间:2023-11-03 18:35:29 24 4
gpt4 key购买 nike

LISP 中(或一般情况下)破坏性非破坏性 构造的正确定义是什么。我试图搜索实际含义,但我只发现了这些术语的大量用法而没有实际解释它们。

据我了解,破坏性 函数是指一个函数,它改变了构造(或变量)的含义 - 所以当我将列表作为参数传递给函数时,这改变了它,它被称为破坏性操作,因为它改变了初始列表并返回一个全新的列表。这是对的还是有一些异常(exception)?

那么例如设置一个破坏性函数(因为它改变了 x 的值)?我认为不是,但我不知道如何证明这一点。

(set 'x 1)

很抱歉可能是一个非常基本的问题....感谢您的任何回答!

最佳答案

我不会过多地解释“破坏性”这个词。

在列表处理中,破坏性操作是一种可能会更改一个或多个输入列表的操作,这是一种可见的副作用。

现在,您可以将含义扩展到对数组、结构、CLOS 对象等的操作。您还可以将变量赋值称为“破坏性”等。

在 Common Lisp 中,讨论对序列(通常是列表、字符串和向量)和多维数组的破坏性操作是有意义的。

关于functional-programming - LISP - 破坏性和非破坏性结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17039756/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com