;; 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. okhttp踩坑

    ResponseBody.string()   平常我们用的客户端http调用工具一般是RestTemplate,HttpClient,okhttp,以前使用过前两者,没咋接触过okhttp,我看公司 ...

  2. Geoserver+Openlayers+MySQL设计思想,GeoServer服务器搭建(Docker构建镜像)

    Geoserver+Openlayers+MySQL设计思想,GeoServer服务器搭建(Docker构建镜像) 一.geoserver+openlayers+mysql主要设计思想 1.1 Geo ...

  3. java格式化json串

    package com.loan.modules.extbiz.in.rabbitmq.util; import com.loan.modules.extbiz.in.rabbitmq.excepti ...

  4. 调试lcd时候给linux单板移植tslib

    作者:良知犹存 转载授权以及围观:欢迎添加微信公众号:Conscience_Remains 总述  tslib背景: 在采用触摸屏的移动终端中,触摸屏性能的调试是个重要问题之一,因为电磁噪声的缘故,触 ...

  5. 一文入门Linux下gdb调试(一)

    作者:良知犹存 转载授权以及围观:欢迎添加微信号:Conscience_Remains 总述 在window下我们习惯了IDE的各种调试按钮,说实话确实挺方便的,但到了Linux下,没有那么多的IDE ...

  6. CF 1400F x-prime Substrings 题解【AC自动机+DP】

    CF 1400F.x-prime Substrings 题意: 给定一个由\('1'\)到\('9'\)组成的字符串\(s\)和一个数\(x\),定义一个串为\(x-prime\)串,当且仅当这个串上 ...

  7. SCZ 20170812 T1 HKJ

    因为题面实在是太过暴力,就不贴链接了--我自己重新写一下题面吧-- 题目描述 给定一张带权有向图,设起点为1,终点为n,每个点除编号外还有一个序号,要求输出从起点至终点的最短路经过的点的序号和最短距离 ...

  8. WIN7使用msg命令发送消息心得

    昨天搞了一下午+一晚上,终于捣鼓出了一些奇奇怪怪的操作,成功发送了消息. 应实验要求,博主有幸在家里搞到了两台win7,其他的系统是不是这么操作就不太清楚了. 一开始实验指导书上是用net send发 ...

  9. Educational Codeforces Round 87 (Rated for Div. 2) D树状数组加二分删除的值

    Sample Input 5 4 1 2 3 4 5 -5 -1 -3 -1 Sample Output 3 思路,首先发现a[i]的值的范围是在1~n之间,每次插入我们可以直接把cnt[a[i]]+ ...

  10. AtCoder Beginner Contest 184 E - Third Avenue (BFS)

    题意:给你一张图,\(S\)表示起点,\(G\)表示终点,\(.\)表示可以走,#表示不能走,小写字母可以传送到任意一个相同的字母的位置,问从\(S\)走到\(G\)的最小步数. 题解:假如不考虑字母 ...