;; example: (write (A-Z :start (+ 65 1) :end 87))
(defmacro A-Z (&key (start 65) (end 90))
(let* ((s-start (gensym))
(s-end (gensym))
(s-start start)
(s-end end))
`(loop for i from ,s-start to ,s-end
collect (code-char i)))) (defmacro A-Z (&key (start 65) (end 90))
(let ((s-start (gensym))
(s-end (gensym)))
`(let ((,s-start ,start)
(,s-end ,end))
(loop for i from ,s-start to ,s-end
collect (code-char i))))) (defun prime-p (n)
"判读n是否为素数"
(when (> n 1)
(do ((i 2 (1+ i)))
((= i n) t)
(when (zerop (mod n i))
(return nil))))) (defun typeof (obj)
"return the type of OBJ"
(typecase obj
(list 'list)
(number 'number)
(array 'array)
(function 'function)
(string 'string))) (defun our-filter (lst fn)
;; 这个过滤器感觉更 remove差不多
(let ((res nil))
(dolist (el lst)
(let ((is (funcall fn el)))
(if (not is) (push el res))))
(nreverse res))) (defun _sort (lst)
;;; 这是一个默认从小到大的排序函数
;;; > (setf a '(1 3 2))
;;; (1 3 2)
;;; > (_sort a)
;;; (1 2 3)
;;; > a
;;; (1 2 3)
(let ((len (length lst)))
(do ( (i 0 (+ i 1)) ) ( (not (< i len)) )
(do ( (j 0 (+ j 1)) ) ( (not (< j (- len 1 i))) )
(let (
(a (nth j lst))
(b (nth (+ j 1) lst))
)
(and (> a b)
(setf (nth (+ j 1) lst) a
(nth j lst) b
)))))) lst) (defun distinct (lst)
;;; 去除重复数据
;;; > (distinct '(1 2 3 2 1 6))
;;; (1 2 3 6)
(let ((res '()))
(dolist (el lst)
(if (not (member el res))
(setf res (append res (cons el nil)))
))
res)) (defun our-push (lst &rest addData)
;; 返回新的lst
;; > (our-push '(1 23) 'name "hello" '(a bc))
;; (1 23 NAME "hello" (A BC))
(dolist (el addData)
(setf lst (append lst (cons el nil))))
lst) (defun our-length (lst)
;;; 这个函数返回一个lst的长度
(if (null lst)
0
(+ 1 (our-length (cdr lst)))
)) (defun our-qa ()
;;; 一个询问1+1等于几的函数
(format t "1+1= ")
(let ((a (read)))
(if (and (numberp a) (= a 2))
'yes
(our-qa)
)
)) (defun null-list (lst)
;;; 若果是空表返回 t
(if (and (listp lst) (null lst))
t)) (defun our+ (numberlist)
;;; 这个函数会对 一个全是数字的列表进行求和
;;;> (our+ '(1 2 3 "233"))
;;;6
(let ( (firstNumber (car numberlist)) )
(if (or (null numberlist) (null (numberp firstNumber)))
0
(+ firstNumber (our+ (cdr numberlist)))
)
)
)

clisp的一些function的更多相关文章

  1. 通过百度echarts实现数据图表展示功能

    现在我们在工作中,在开发中都会或多或少的用到图表统计数据显示给用户.通过图表可以很直观的,直接的将数据呈现出来.这里我就介绍说一下利用百度开源的echarts图表技术实现的具体功能. 1.对于不太理解 ...

  2. jsp中出现onclick函数提示Cannot return from outside a function or method

    在使用Myeclipse10部署完项目后,原先不出错的项目,会有红色的叉叉,JSP页面会提示onclick函数错误 Cannot return from outside a function or m ...

  3. JavaScript function函数种类

    本篇主要介绍普通函数.匿名函数.闭包函数 目录 1. 普通函数:介绍普通函数的特性:同名覆盖.arguments对象.默认返回值等. 2. 匿名函数:介绍匿名函数的特性:变量匿名函数.无名称匿名函数. ...

  4. 在ubuntu16.10 PHP测试连接MySQL中出现Call to undefined function: mysql_connect()

    1.问题: 测试php7.0 链接mysql数据库的时候发生错误: Fatal error: Uncaught Error: Call to undefined function mysqli_con ...

  5. jquery中的$(document).ready(function() {});

    当文档载入时执行function函数里的代码, 这部分代码主要声明,页面加载后 "监听事件" 的方法.例如: $(document).ready( $("a") ...

  6. Function.prototype.toString 的使用技巧

    Function.prototype.toString这个原型方法可以帮助你获得函数的源代码, 比如: function hello ( msg ){ console.log("hello& ...

  7. 转:ORA-15186: ASMLIB error function = [asm_open], error = [1], 2009-05-24 13:57:38

    转:ORA-15186: ASMLIB error function = [asm_open], error = [1], 2009-05-24 13:57:38http://space.itpub. ...

  8. [Xamarin] 透過Native Code呼叫 JavaScript function (转帖)

    今天我們來聊聊關於如何使用WebView 中的Javascript 來呼叫 Native Code 的部分 首先,你得先來看看這篇[Xamarin] 使用Webview 來做APP因為這篇文章至少講解 ...

  9. Oracle数据库自动备份SQL文本:Procedure存储过程,View视图,Function函数,Trigger触发器,Sequence序列号等

    功能:备份存储过程,视图,函数触发器,Sequence序列号等准备工作:--1.创建文件夹 :'E:/OracleBackUp/ProcBack';--文本存放的路径--2.执行:create or ...

随机推荐

  1. 理解Latency和Throughput: 吞吐量和延迟

    Latency,中文译作延迟.Throughput,中文译作吞吐量.它们是衡量软件系统的最常见的两个指标. 延迟一般包括单向延迟(One-way Latency)和往返延迟(Round Trip La ...

  2. Redis集群数据没法拆分时的搭建策略

    在上一篇文章中,针对服务器单点.单例.单机存在的问题: 单点故障 容量有限 可支持的连接有限(性能不足) 提出了解决的办法:根据AKF原则搭建集群,大意是先X轴拆分,创建单机的镜像,组成主主.主备.主 ...

  3. SpringMVC听课笔记(十五:SpringMVC 运行流程)

    1. 图 一般的会按照红线标注的方向去行进,但是请求静态资源,或者出现异常等,会出现其他路径 2.

  4. java的几种对象(PO,VO,DAO,BO,POJO)

    一.PO persistant object 持久对象,可以看成是与数据库中的表相映射的java对象.最简单的PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合.PO中应该不包含任何对数 ...

  5. 引入 Gateway 网关,这些坑一定要学会避开!!!

    Spring cloud gateway是替代zuul的网关产品,基于Spring 5.Spring boot 2.0以上.Reactor, 提供任意的路由匹配和断言.过滤功能.上一篇文章谈了一下Ga ...

  6. Java——序列化与反序列化

    序列化 序列化 序列化是什么 如何实现对象序列化 实战练习 Serializable 反序列化 总结 使用Reader读取文件内容1 使用Reader读取文件内容2 序列化是什么? 将对象的状态存储到 ...

  7. f5 http和tcp_80 monitor

    f5上的http和tcp_80 monitor是有区别的.假如使用http为monitor,即使80端口是通的,但是有的情况f5也会根据http的访问返回值情况判断站点不可用. 如, telnet I ...

  8. Java编程工具IDEA的使用

    IDEA psvm + Enter 快速构建main方法 sout + Enter 快速打印与句 Ctrl+Shift + Enter,语句完成 Ctrl+F12,可以显示当前文件的结构 Ctrl + ...

  9. MySQL安全审计(init_connect)

    1.常规安全 在说审计之前我们先提一点一般我们常用的MySQL的安全注意事项. 指定完善的MySQL安全流程 用户授权邮件备注 每个人对应权限均需留底 所有用户非管理员及特殊账户,均精细化授权 2.s ...

  10. 微信小程序分享之生成海报--canvas

    首先看文档 了解知识点~~(https://developers.weixin.qq.com/miniprogram/dev/component/) githup:https://github.com ...