初始化symbolsetsyntax: (set sym-1 exp-1 [sym-2 exp-2 ... ])下面是例子:> (set 'mysymbol "ebd")
"ebd"
> (upper-case mysymbol)
"EBD"
上面第一句设置了一个symbol, 值为字符串。第二句使用该symbol。注意此时无需单引号。注意:1. 这里set定义了全局的symbol, 不过只能在当...
分类:
其他好文 时间:
2014-12-21 14:02:32
阅读次数:
228
newLISP实现了Cilk API, 可以将多个同时运行的进程执行在多处理器或者多核的CPU架构上,已达到并行节省运行时间的目的。使用spawn和sync函数可以很快的实现。下面是来自newLISP官方文档的例子:#!/usr/bin/newlisp
; calculate primes in a range
(define (primes from to)
(local (plist)...
分类:
系统相关 时间:
2014-12-20 14:17:19
阅读次数:
207
查找list中的一个子list假定数据库里面有若干行记录,newlisp mysql模块返回结果是用一个list表示这个若干行记录,然后每个元素都是一个list,里面包含一行记录,每行记录list里面有包含了若干list,每个list都有两个元素:字段名和字段值。现在我们可以用find方式来进行模式查找> (find (list (list "issue_id" 1773) '*) '((("is...
分类:
其他好文 时间:
2014-12-17 01:37:31
阅读次数:
213
无法返回引用数据传递包括两种,返回值和参数。很可惜,newlisp的返回值只进行值拷贝,也就是返回副本,并没有方法返回引用。那么看看参数吧,通过参数有两种方法传递引用,一种是通过使用单引号,比如:单引号symbol传递参数引用(define (change-list aList) (push 999 (eval aList)))
(set 'data '(1 2 3 4 5))
; note...
分类:
其他好文 时间:
2014-12-14 20:02:05
阅读次数:
247
对象之间的关系对象可以包含对象,就像一般面向对象的对象树一样。在lisp中,其实很简单, 因为对象就是list, 对象包含对象也就是list里面包含list,此嵌套关系可以有很多层。下面这个例子同样来自manual; create classes
(new Class 'Person)
(new Class 'Address)
(new Class 'City)
(new Class 'Stree...
分类:
其他好文 时间:
2014-12-14 18:38:36
阅读次数:
168
append我常用于连接两个string或者list,其实还可以这样用,将两个list连接成一个lambda表达式:> (append (lambda (x)) '((add x 1)))
(lambda (x) (add x 1))append的第一个参数是(lambda (x)) 一个List,有两个元素,第二个参数也是一个list,子元素也是一个list拼接后就是变成了一个完整的lambda...
分类:
移动开发 时间:
2014-12-11 00:19:06
阅读次数:
181
map是一个非常好用的功能,先举个简单的例子两个list元素的操作(map + '(1 2 3) '(50 60 70)) → (51 62 73)两个list元素的if操作(map if '(true nil true nil true) '(1 2 3 4 5) '(6 7 8 9 10))
→ '(1 7 3 9 5)这个有点意思,相当与用一堆bool值来确定是从第一个list中挑选元素,...
分类:
其他好文 时间:
2014-12-10 22:50:59
阅读次数:
152
一直以来,没有newlisp直接访问mongodb 的方式,今天发布了v0.1.0版本,可以让newlisp通过mongdb c driver访问mongodb server.下面是例子代码:#!/usr/bin/newlisp
(load "mongo.lsp")
(mongo:init)
(set 'client-ptr (mongo:connect "mongodb://127.0.0.1...
分类:
数据库 时间:
2014-11-30 18:48:39
阅读次数:
240
用ps -def | grep查找进程很方便,最后一行总是会grep自己。$ ps -def | grep dragonfly-framework
dean 5273 5272 0 15:23 pts/5 00:00:00 newlisp ./dragonfly-framework/newlisp-redirection.lsp -http -d 8080 -w .
dean ...
分类:
其他好文 时间:
2014-11-17 15:50:38
阅读次数:
193
核心一句话,要重启。有两种方式,一是修改~/.bashrc文件,添加环境变量二是修改slave的配置,添加环境变量关键是要disconnect slave,然后重启启动slave,而不是让slave临时离线。好了,现在所有的bash脚本和newlisp脚本都运行在正确的环境变量下。...
分类:
其他好文 时间:
2014-11-12 21:14:49
阅读次数:
277