Lisp在线运行

版本:

所属目录
点击了解高性能代码运行API
运行结果
教程手册
代码仓库
极速运行
终端运行
图形+终端

                        
以下是用户最新保存的代码
lisp 测试 发布于:2024-08-14 13:24 common lisp exercise 10.2 发布于:2024-04-27 16:53 做个小测试, 发布于:2024-03-14 09:53 桥梁安全计算lisp 发布于:2023-10-24 09:36 定义函数 newCalc,接受两个参数 x 和 y 发布于:2023-09-23 16:06 判断两数之和大于第三个数 发布于:2023-09-01 16:21 分数陈述性知识 发布于:2023-08-24 22:27 CAD面积/体积计算 发布于:2023-04-19 12:08 测试lisp语言 发布于:2023-04-10 15:03 计算list中某一元素数量 发布于:2023-02-16 11:32 LISP 初体验 发布于:2021-08-11 13:16 XY坐标标注CAD插件 发布于:2021-06-11 15:25 format t 输出语句 发布于:2020-08-10 18:21 print 输出语句 发布于:2020-08-10 18:20 write 输出语句 发布于:2020-08-10 18:16 write-line 输出语句 发布于:2020-08-10 18:14 循环输出内容 发布于:2020-08-10 18:11 [更多]
显示目录

变量



学习嵌入式的绝佳套件,esp8266开源小电视成品,比自己去买开发板+屏幕还要便宜,省去了焊接不当搞坏的风险。 蜂鸣版+触控升级仅36元,更强的硬件、价格全网最低。

点击购买 固件广场

变量

在LISP中,每个变量由一个'符号'表示。变量的名称是符号的名字,并将其存储在码元的存储单元。

全局变量

全局变量有永久值在整个LISP系统,并保持有效,直到指定的新值。

全局变量是使用defvar结构一般声明。

例如:

(defvar x 234)
(write x)

当您单击Execute按钮,或按下Ctrl+ E,LISP立即执行它,返回的结果是:

234

由于没有类型声明在LISP变量,可直接用setq一样构建一个符号指定一个值

例如,

->(setq x 10)

上面的表达式的值10赋给变量x,也可以使用符号本身作为一个表达式来引用该变量。

符号值函数允许提取存储在符号存储位置的值。

示例

创建一个名为main.lisp新的源代码文件,并在其中输入如下代码:

(setq x 10)
(setq y 20)
(format t "x = ~2d y = ~2d ~%" x y)
(setq x 100)
(setq y 200)
(format t "x = ~2d y = ~2d" x y)

当单击Execute按钮,或按下Ctrl+ E,LISP立即执行它,返回的结果是:

x = 10 y = 20 
x = 100 y = 200

局部变量

局部变量在给定的过程中定义。被命名为一个函数定义中参数的参数也是局部变量。局部变量只能访问内相应的功能。

像的全局变量,也可以使用本setq一样构建体被创建的局部变量。

还有其他两种结构- let和prog创建局部变量。

该let结构的语法如下:

(let ((var1  val1) (var2  val2).. (varn  valn))<s-expressions>)

其中var1, var2, ..varn 是变量名和val1, val2, .. valn是分配给相应的变量的初始值。

当执行let,每个变量被分配了各自的值,最后的s-expression。则返回最后一个表达式的值。

如果不包括的变量的初始值,它被分配到nil。

例子

创建一个名为main.lisp新的源代码文件,并在其中输入如下代码:

(let ((x 'a)
         (y 'b)
         (z 'c))
(format t "x = ~a y = ~a z = ~a" x y z))

当单击Execute按钮,或按下Ctrl+ E,LISP立即执行它,返回的结果是:

x = A y = B z = C

该编结构也有局部变量作为第一个参数,它后面是prog的主体,以及任意数量s-expressions的列表。

该编函数执行s-expressions序列的列表,并返回零,除非遇到函数调用名返回。然后函数参数计算并返回。

例子

创建一个名为main.lisp新的源代码文件,并在其中输入如下代码:


(adsbygoogle = window.adsbygoogle || []).push({});



(adsbygoogle = window.adsbygoogle || []).push({});
(prog ((x '(a b c))
        (y '(1 2 3))
        (z '(p q 10)))
(format t "x = ~a y = ~a z = ~a" x y z))

当单击Execute按钮,或按下Ctrl+ E,LISP立即执行它,返回的结果是:

x = (A B C) y = (1 2 3) z = (P Q 10)
由JSRUN为你提供的Lisp在线运行、在线编译工具
        JSRUN提供的Lisp 在线运行,Lisp 在线运行工具,基于linux操作系统环境提供线上编译和线上运行,具有运行快速,运行结果与常用开发、生产环境保持一致的特点。
yout