Lisp是一种函数式编程语言,具有强大的元编程能力和灵活的语法。在Lisp中,setq和car是两个常用的函数。
参考链接:
;; 为了实验本教程中的lisp命令,我们要让Emacs工作在lisp-interaction-mode工作模式下,;; 这个模式可以让我们在缓冲区中和Emacs进行互动,并且直接执行Lisp命令,得到结果...== 表达式,变量和函数 ==;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 冒号在Lisp中表示注释...\n\nI am %s." your-name from-name))(other-window 1)));; 执行这个函数(greeting "Bastien")== 列表和综合实例 ==;; Lisp...中使用括号构造列表,使用setq给变量赋值。...;; 如果想要得到列表中的第一个元素,可以使用car函数(car list-of-names);; 如果想要得到列表中的除第一个元素以外的其它元素,可以使用cdr函数(cdr list-of-names
前言 Lisp 是一门很古老的语言 LISP 是具有悠久历史的计算机编程语言家族,有独特和完全括号的前缀符号表示法,起源于1958年,是现今第二悠久而仍广泛使用的高级编程语言,只有 FORTRAN 编程语言比它更早一年...,LISP 编程语族已经演变出许多种方言,现代最著名的通用编程语种是 Common Lisp 和 Scheme , 以上解释来自 WIKI Emacs Lisp 是 Lisp 的一个分支 Emacs Lisp...== 表达式,变量和函数 == ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; 冒号在Lisp...;; Lisp中使用括号构造列表,使用setq给变量赋值。...;; 如果想要得到列表中的第一个元素,可以使用car函数 (car list-of-names) ;; 如果想要得到列表中的除第一个元素以外的其它元素,可以使用cdr函数 (cdr list-of-names
首要问题就是 URL 重定向,解决代码如下: (setq my/url-redirect-list `(("^https://github.com/\\(.+\\)/commit/\\(\\w+\\)$...url &rest args) (catch 'ret (dolist (redirect-rule my/url-redirect-list) (let* ((regexp (car...(inhibit-message t)) (when-let* ((matched-groups (string-match regexp url))) (setq...(cond ((string-suffix-p ".patch" url) (diff-mode)) ((string-suffix-p ".el" url) (emacs-lisp-mode
2.点击图标工具,可以查看car资源文件,xcassets文件。 3.点击Plist编辑。 4.可以选择文件生成图标和car文件。
这就不得不提起Clojure这门lisp方言,出于对lisp和函数式编程的痴迷,我选择了基于JVM的Clojure作为自己的偏好语言,而emacs天生为lisp而生。...(require 'package) (setq package-archives '(("melpa" ...."http://melpa.org/packages/")中的点号(dot)表示法也比较奇怪,其实这是lisp中的Dotted pair表示法,用法和普通的列表类似,但因为是pair的缘故,你可以使用(...car )获取"melpa",(cdr )获取到的却不再是一个列表,而是"http://melpa.org/packages/"这个值本身。...来个实际的例子,在大牛的配置文件中,经常能看到如下成对的配置: (setq package-enable-at-startup nil) (package-initialize) 开始我觉得这是一对矛盾的配置
直到那天突然产生了新的需求——Lisp。...我工作中倒并没有用得到 Lisp 的地方,但是最近眼前晃过的一些书,比如《计算机程序的构造和解释》、《码农》杂志第 13 期,都对这门古老的语言推崇备至,还有垠神也撰文《Lisp 已死,Lisp 万岁!...历数现代 Lisp 方言的先进性,再者我也一直有学习一门函数式编程语言的想法,看起来,Lisp 是不二之选。...Common Lisp 开发环境 学习 Common Lisp 是使用 Emacs 最主要的任务,配好了文本编辑,当然得先把 Common Lisp 开发环境配置好了。...在 ~/.emacs 文件里加上: (setq inferior-lisp-program "sbcl") (require 'slime-autoloads) (slime-setup '(slime-fancy
GIS/CS学习笔记:https://github.com/yunwei37/ZJU-CS-GIS-ClassNotes 写入下列三道题的LISP...1、 有的两位数具有一种有趣的性质:该数的平方分成两个两位数,它们的和等于该数本身。...例如:552=3025,而55=30+25,编程,找出具有这样性质的全部两位数 (defun c:xinzhi ( / n n1 n2 s) ;该数的平方分成两个两位数,它们的和等于该数本身。...(setq n 10) (while (<= n 99) (setq n1 (/ ( * n n ) 100)) (setq n2 ( - ( * n n ) (* n1 100))) (...1000 (command (polar (list 0 0) (/ n 57.3) n)) (setq n (1+ n)) ) (command)
' --exec mv {} libtree-sitter-{/} \; 如果语言和动态链接库名字不对应,可以通过 treesit-load-name-override-list 来配置,比如: (setq...lisp/progmodes/erts-mode.el lisp/progmodes/go-ts-mode.el lisp/progmodes/java-ts-mode.el...lisp/progmodes/json-ts-mode.el lisp/progmodes/ruby-ts-mode.el lisp/progmodes/rust-ts-mode.el...为了能够自动打开对应的 ts-mode ,可以通过配置 major-mode-remap-alist 来实现: (setq major-mode-remap-alist '((yaml-mode...node-start) (= (region-end) node-end)) (when-let ((node (treesit-node-parent node))) (setq
添加如下配置: ;; the exact path may differ -- check it (add-to-list 'load-path "/usr/local/share/emacs/site-lisp.../mu4e") (require 'mu4e) (setq mu4e-maildir "~/mail") (setq mu4e-drafts-folder "/Drafts") (setq mu4e-sent-folder...(setq mu4e-maildir-shortcuts '( ("/INBOX" . ?...a))) ;; allow for updating mail using 'U' in the main view: (setq mu4e-get-mail-command "offlineimap"...) ;; something about ourselves (setq user-mail-address "chenshu@letv.com" user-full-name "Dean Chen
可以使用M-x visit-tages-table来指定 C-h p 命令让你用主题关键字搜索Emacs Lisp标准库。...(interactive "*bInsert buffer:") (or (bufferp buffer)) (setq buffer (get-buffer buffer)) (let...5.2.3 用if表达式(而不是or表达式)编写的insert-buffer函数 (if (not (bufferp buffer)) ;if-part (setq...Don't use this in Lisp programs! ...chapter 6 变窄和曾宽 6.1 save-restriction特殊表 跟踪变窄开启的部分。 (save-restriction body....)
这一次作业使用的是Lisp的一个方言版本——scheme,简单介绍一点作业当中会用到的语法。 语法 基本运算 Lisp最大的特点就是它代码的表示形式,和常规的语言完全不同。...其实很简单,和运算符是一样的,比如我们要计算5的平方,写出来就是: (square 5) pair和list Lisp中pair的定义和C++有些类似,两个参数打包成为一个pair。...除了cons之外还有三个常用的符号,分别是car,cdr和nil。car用来返回pair中的第一个元素,cdr用来返回pair中的第二个元素,nil表示一个空的list。...使用cons一个一个嵌套非常麻烦,所以Lisp中专门提供了一个操作符叫做list,用来直接创建list。 符号 问题来了,我们怎么在Lisp当中区分变量和符号呢?...(car t)) (intersect (cdr s) t)) ((> (car s) (car t)) (intersect s (cdr t))) ) ) 并集的逻辑和交集类似
/* 定义Boat与Car两个类,二者都有weight属性, 定义二者的一个友元函数totalWeight()为外部函数, 计算二者的重量和。...*/ #include #include using namespace std; class Boat; class Car { private: double...weight; public: Car(double wg) { this->weight = wg; } Car(Car &tp) { this...->weight = tp.weight; } double getWeight() { return weight; } ~Car() { }...void show() { cout << "This is a Car:" << endl; cout << "Weight:" << weight << endl
那些从汽车项目中得到的灵感、经验和专利,未来可能在苹果的其他产品或服务中发挥意想不到的作用。...在这一重大更新中,引入了基于 Swift 编码的新 Predicate 功能,标志着在数据处理和评估方面迈入了新的阶段。...特别值得称赞的是,作者不仅总结了不同 DI 框架的特点,还针对不同规模和阶段的项目,提供了选择合适 DI 策略的宝贵建议。...这样处理后的图片,以其惊人的细节和清晰度,在 Vision Pro 上展现出了无与伦比的沉浸感。...这一功能极大地丰富了状态管理和持久化的灵活性,让基于 TCA 的应用开发变得更加高效便捷。
(setq org-babel-load-languages '((js . t) (java . t) (python . t) (sqlite.... t) (emacs-lisp . t) (shell . t) (ditaa . t))) 我们可以注意到上面出现了 ((js . t) (java.... t) (python . t) (sqlite . t) (emacs-lisp . t) (shell . t) (ditaa . t)) 这一串字符, 有一定 elisp 经验的读者可以知道,...这正是前面 (setq org-babel-load-languages ...)...最后,命名了的代码块还可以和 noweb 一起使用(见实战四)。
直到那天突然产生了新的需求——Lisp。...,看起来,Lisp 是不二之选。...Common Lisp 开发环境 学习 Common Lisp 是使用 Emacs 最主要的任务,配好了文本编辑,当然得先把 Common Lisp 开发环境配置好了。...找到 slime 和 slime-company 并安装。 在 ~/.emacs 文件里加上: M-x slime 就可以进入到 REPL 进行 Common Lisp 的学习了。...(ido-mode t) (require 'projectile) (projectile-global-mode) (setq projectile-require-project-root nil
SCIP分五章:构造过程抽象,构造数据抽象,模块化、对象和状态(涉及并发),源语言抽象,寄存器机器里的计算(编译器如何工作) 环境 OS X下使用IDE DrRacket及其语法插件#PLaneT neil...Lisp基本语法 Lisp的原始定义在John McCarthy1960发表的论文[3]。 Lisp[4]是一个语言族,包括Common Lisp和Scheme,二者区别见[5]。...那么递归和迭代怎么用?使用上面的语法规则即可。...(car__ (cons__ 33 99)) ;33 (cdr__ (cons__ 33 99)) ;99 序列(列表) 可看做嵌套的序对: (list ......表操作: ; list[0] (car list) ; list[2:n] (cdr list) ; list[2] (car (cdr )) (cadr ) ; list
---- 居中 注意前轮夹角和方向盘 左转 注意前轮夹角和方向盘 右转 注意前轮夹角和方向盘 ---- 部分记录: [INFO] [launch]: All log files can be found...video_saver colcon build ros2 run prius_line_following video_saver ros2 launch prius_line_following car_on_track.launch.py
LISP有很多种方言,各个实现中的语言不完全一样。1980年代Guy L. Steele编写了Common Lisp试图进行标准化,这个标准被大多数解释器和编译器所接受。...在Unix/Linux系统中,还有一种和Emacs一起的Emacs Lisp(而Emacs正是用Lisp作为扩展语言进行功能扩展的)非常流行,并建立了自己的标准。...LISP语言的主要现代版本包括Common Lisp和Scheme。 基本介绍 LISP 是第一個函數型程式語言,区别于C/Java等命令型编程语言。...基本操作符3 eq (eq x y) 当 x 和y 的值相同或者同为空表时返回t,否则返回空表 () > (eq ‘a ‘a)t> (eq ‘a ‘b)()> (eq ‘() ‘())t 基本操作符4...car (car x) 要求 x 是一个表,它返回 x 中的第一个元素,例如: > (car ‘(a b))a 基本操作符5 cdr (cdr x) 同样要求 x 是一个表,它返回x中除第一个元素之外的所有元素组成的表
/acl-chinese 2、《On Lisp》 中文版 https://www.kancloud.cn/ituring/on-lisp 备用地址-W3C:https://www.w3cschool.cn.../on_lisp/ 3、《Practical Common Lisp》 4、易百教程 Lisp教程:https://www.yiibai.com/lisp/ 5、相关网站 深度开源:http://www.open-open.com.../lib/list/294 segmentfault:https://segmentfault.com/t/lisp common-lisp:https://common-lisp.net/ 一个国外教程网...:https://www.tutorialspoint.com/lisp/index.htm 6、网易云课堂 《Lisp,Haskell,Python的天空之城》(收费课程,126块,有点小贵):http...4)《Practical Common Lisp》大神田春翻译的中文版《实用Common Lisp编程》已经出版。 5)《On Lisp》也是Paul大神的作品,好像是进阶修炼版本。
领取专属 10元无门槛券
手把手带您无忧上云