lisp的filter
时间: 2023-07-11 19:51:12 浏览: 49
Lisp中的filter函数可以用于过滤一个列表中的元素,只保留满足特定条件的元素。它的基本语法如下:
```
(filter predicate list)
```
其中,`predicate` 是一个函数,用于判断某个元素是否应该被保留,`list` 是要过滤的列表。`filter` 函数返回一个新的列表,其中只包含满足条件的元素。
例如,下面的代码可以过滤掉一个列表中的偶数:
```
(defun evenp (x)
(zerop (mod x 2)))
(filter #'evenp '(1 2 3 4 5 6))
```
运行结果为 `(2 4 6)`。在这个例子中,`evenp` 函数用于判断一个数是否为偶数,`#'` 符号用于将函数名转换为函数对象,`'(1 2 3 4 5 6)` 是要过滤的列表。`filter` 函数返回一个新的列表,其中只包含偶数。
相关问题
lisp strcase
Lisp中的strcase函数是用于将字符串转换为指定的大小写形式的函数。它接受两个参数:字符串和关键字。关键字可以是:upcase、:downcase或者:titlecase,分别表示将字符串转换为大写、小写或首字母大写的形式。
下面是一些示例:
1. (strcase "Hello World" :upcase) 返回 "HELLO WORLD",将字符串转换为大写形式。
2. (strcase "Hello World" :downcase) 返回 "hello world",将字符串转换为小写形式。
3. (strcase "hello world" :titlecase) 返回 "Hello World",将字符串转换为首字母大写的形式。
需要注意的是,strcase函数不会修改原始字符串,而是返回一个新的字符串。另外,如果关键字不是:upcase、:downcase或:titlecase中的一个,strcase函数将返回原始字符串。
lisp源码
Lisp的源代码可以在许多不同的实现中找到,每个实现都可能有不同的代码。以下是一个简单的Lisp程序的示例代码:
```lisp
(defun factorial (n)
(if (zerop n)
1
(* n (factorial (- n 1)))))
```
这是一个计算阶乘的基本函数,它使用递归来实现。在这个函数中,我们定义了一个名为“factorial”的函数,它取一个参数n。如果n等于零,函数返回1。否则,它将n与factorial函数的(n-1)的乘积相乘,这是通过递归调用factorial函数来实现的。
这只是Lisp的一个小例子,Lisp的实现可以非常复杂,并涉及许多不同的概念和特性。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)