首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在emacs lisp中制作字符串列表的深度副本?

在Emacs Lisp中制作字符串列表的深度副本可以使用copy-sequence函数。该函数可以复制一个序列(包括字符串列表)并返回一个新的副本。以下是一个示例代码:

代码语言:emacs-lisp
复制
(setq original-list '("apple" "banana" "cherry"))
(setq copied-list (copy-sequence original-list))

在上述代码中,original-list是原始的字符串列表,copied-list是通过copy-sequence函数创建的深度副本。你可以对copied-list进行任意操作,而不会影响到original-list

关于Emacs Lisp的更多信息,你可以参考Emacs Lisp官方文档

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Emacs Lisp2

;; 缓冲区也叫做工作区,在Emacs打开一个文件,实际只是在Emacs构造该文件一个副本,放到缓冲区,;; 在Emacs对该文件编辑也是针对该副本编辑,唯有保存改动时,Emacs才会把缓冲区内容在复制到原文件中去...;; 为了实验本教程lisp命令,我们要让Emacs工作在lisp-interaction-mode工作模式下,;; 这个模式可以让我们在缓冲区中和Emacs进行互动,并且直接执行Lisp命令,得到结果...;; 如果想要得到列表第一个元素,可以使用car函数(car list-of-names);; 如果想要得到列表除第一个元素以外其它元素,可以使用cdr函数(cdr list-of-names...);; 以后push函数可以在列表头部插入新元素,所以下面的命令将改变list-of-name中元素个数(push "Stephanie" list-of-names);; mapcar函数对列表列表每一个元素分别取出来...开头;; 从头开始搜索字符串Hello,并且替换成Bonjour;; 结束之后在把光标移会到一开始buffer

98240

Emacs Lisp

LISP 编程语族已经演变出许多种方言,现代最著名通用编程语种是 Common Lisp 和 Scheme , 以上解释来自 WIKI Emacs LispLisp 一个分支 Emacs Lisp...;; 缓冲区也叫做工作区,在Emacs打开一个文件,实际只是在Emacs构造该文件一个副本,放到缓冲区, ;; 在Emacs对该文件编辑也是针对该副本编辑,唯有保存改动时,Emacs才会把缓冲区内容在复制到原文件中去...;; 为了实验本教程lisp命令,我们要让Emacs工作在lisp-interaction-mode工作模式下, ;; 这个模式可以让我们在缓冲区中和Emacs进行互动,并且直接执行Lisp命令,得到结果...函数对列表列表每一个元素分别取出来,赋给hello函数 (mapcar 'hello list-of-names) ;; 重新定义greeting函数,在一个新,清空buffer,对list-of-names...开头 ;; 从头开始搜索字符串Hello,并且替换成Bonjour ;; 结束之后在把光标移会到一开始buffer

2.3K40
  • Emacs Lisp

    LISP 编程语族已经演变出许多种方言,现代最著名通用编程语种是 Common Lisp 和 Scheme , 以上解释来自 WIKI Emacs LispLisp 一个分支 Emacs Lisp...;; 缓冲区也叫做工作区,在Emacs打开一个文件,实际只是在Emacs构造该文件一个副本,放到缓冲区, ;; 在Emacs对该文件编辑也是针对该副本编辑,唯有保存改动时,Emacs才会把缓冲区内容在复制到原文件中去...;; 为了实验本教程lisp命令,我们要让Emacs工作在lisp-interaction-mode工作模式下, ;; 这个模式可以让我们在缓冲区中和Emacs进行互动,并且直接执行Lisp命令,得到结果...函数对列表列表每一个元素分别取出来,赋给hello函数 (mapcar 'hello list-of-names) ;; 重新定义greeting函数,在一个新,清空buffer,对list-of-names...开头 ;; 从头开始搜索字符串Hello,并且替换成Bonjour ;; 结束之后在把光标移会到一开始buffer

    2.2K30

    Emacs 28 新特性介绍

    现任 Emacs 维护者 Eli Zaretskii 在 9 月 30 号通过邮件列表[1]宣布 emacs-28 分支已经创建出,这意味着 28 版本大功能已经 ready,不会再有大改动,但距离正式发版还要一段时间...这篇文章就来介绍 Emacs 28 ,笔者个人觉得比较实用功能,完整列表可参考 NEWS[3] ( M-x view-emacs-news ),最后会介绍如何在 macOS 上编译。...positional 参数已经被淘汰 编译方式 看了上面那么多新功能,读者可能已经按捺不住内心喜悦,这里就来介绍如何在 macOS 编译 28 版本,其他操作系统方式类似。.../emacs/i-basic.el#L346 [11] hierarchy.el: https://github.com/emacs-mirror/emacs/blob/emacs-28/lisp/emacs-lisp.../hierarchy.el [12] shorthands.el: https://github.com/emacs-mirror/emacs/blob/emacs-28/lisp/emacs-lisp

    96830

    Emacs 之光成长历程

    更令人好奇是,嘉宾如何在短期内熟悉 Emacs 源码并为之贡献多个 patch,相信通过嘉宾学习、贡献经历,可以给听众打开 Emacs 源码神秘面纱,让更多用户参与到 Emacs 贡献,一个多小时分享...,句号后两个空格 • 注释用是 C 风格 /* */ ,而不是 C++ // • 函数名后面跟一个空格,再是括号 •读 Emacs 源码技巧 • lisp.h[12] 里面有 C 如何调用 ELisp...示例 • 去 devel[13] 邮件列表咨询,还可以练习英文表达能力 • ccls[14] + grep + ctags • 通过搜索相关功能来探究其个函数用法 •嘉宾分享 • aggressive-indent-mode...buffer: https://github.com/emacs-mirror/emacs/commit/7c83e605ab84e8b62254c55f347abc8aa9c6057b [12] lisp.h...: https://github.com/emacs-mirror/emacs/blob/master/src/lisp.h [13] devel: https://lists.gnu.org/archive

    40610

    一名ClojurianEmacs配置

    俗话说,工欲善其事必先利其器,完善开发工具与我而言是一件愉快事情,所以想把经验集结成文字,便有了这篇文章。这篇文章不会介绍太多花式或有深度emacs配置,更多是摸索学习过程,其中充满了乐趣。...这就不得不提起Clojure这门lisp方言,出于对lisp和函数式编程痴迷,我选择了基于JVMClojure作为自己偏好语言,而emacs天生为lisp而生。..."http://melpa.org/packages/")点号(dot)表示法也比较奇怪,其实这是lispDotted pair表示法,用法和普通列表类似,但因为是pair缘故,你可以使用(...按照惯例,我在~/.emacs.d目录下建立一个lisp目录用于存放所有自定义模块文件,随后在init.el中加入下面这句代码,意在把lisp目录加到emacs加载路径列表里。...(add-to-list 'load-path (expand-file-name "lisp" user-emacs-directory)) 看似,接下来就可以在每个独立模块文件编写各种功能配置

    2.8K20

    又要头秃?2020年七大AI编程语言大盘点

    作者 | Claire D 译者 | 苏本,编辑 | 伍杏玲 来源 | CSDN(ID:CSDNnews) 人工智能已成为我们日常生活不可或缺一部分,它被广泛地应用到几百种实际场景,极大地便利人们工作和生活...Python最有可能让你受益一些特性是:平台独立性和可以用于深度学习和机器学习广泛框架。...Python代码示例片断 Python一些最受欢迎库,列表如下: TensorFlow,用于解决机器学习工作负载和使用数据集问题。 scikit-learn,用于培训机器学习模型。...使用R语言制作2019新冠肺炎(Covid-19)交互式地图 ?...Julia Julia是一种高性能、通用动态编程语言,适合创建几乎任何应用程序,尤其非常适合数据分析和计算科学。能够与Julia一起工作各种工具包括: 流行编辑器,Vim和Emacs

    1.7K20

    几种编程语言优缺点

    我们前辈们已经到更环保牧场上去了 (指没有大便牧场,译者注)。 Shel 用 C 写了 Mailman,客服部的人把它用 Lisp 封装了一下。Emacs-Lisp。...他们当时没有足够多 Emacs-Lisp 的人。...当其他那些语言(尤其是 Lisp 和 Smalltalk)都想假装操作系统并不存在,列表(Lisp )和对象(Smalltalk )就是把屎搞出来唯一存在,Perl 却走了截然相反路子。...可惜,Larry 太太太太在意 Unix 系统管理和字符串处理以致他压根忘了列表和对象,等他明白过来想改正时候已经晚了。...但是之后 Matz 还从 Lisp 那里拿来最好列表处理,Smalltalk 和其他语言那里拿来了最好面向对象,CLU 那里拿来了最好迭代器,以及基本上是每个人每个事最好东西。

    3.4K110

    各种编程语言优缺点

    我们前辈们已经到更环保牧场上去了 (指没有大便牧场,译者注)。 Shel 用 C 写了 Mailman,客服部的人把它用 Lisp 封装了一下。Emacs-Lisp。...他们当时没有足够多 Emacs-Lisp 的人。...当其他那些语言(尤其是 Lisp 和 Smalltalk)都想假装操作系统并不存在,列表(Lisp )和对象(Smalltalk )就是把屎搞出来唯一存在,Perl 却走了截然相反路子。...可惜,Larry 太太太太在意 Unix 系统管理和字符串处理以致他压根忘了列表和对象,等他明白过来想改正时候已经晚了。...但是之后 Matz 还从 Lisp 那里拿来最好列表处理,Smalltalk 和其他语言那里拿来了最好面向对象,CLU 那里拿来了最好迭代器,以及基本上是每个人每个事最好东西。

    4.4K60

    亚马逊工程师论各种编程语言优缺点

    他们当时没有足够多 Emacs-Lisp 的人。...有一个执行助理把你从琐事解救出来让你有时间去思考那些真的需要你去解决问题; 没有的话你将不得不花一半时间在那些无聊世俗事情上。...因为它有(内建)字符串。哥们,你说一个没有内建字符串语言是人用吗。   ...当其他那些语言(尤其是 Lisp 和 Smalltalk)都想假装操作系统并不存在,列表(Lisp )和对象(Smalltalk )就是把屎搞出来唯一存在,Perl 却走了截然相反路子。...可惜,Larry 太太太太在意 Unix 系统管理和字符串处理以致他压根忘了列表和对象,等他明白过来想改正时候已经晚了。

    2.2K80

    高薪AI工程师都在用什么编程语言?2020 年七大 AI 编程语言大盘点

    Python最有可能让你受益一些特性是:平台独立性和可以用于深度学习和机器学习广泛框架。...——Guido van Rossum 下面是一段Python代码示例: Python代码示例片段 Python一些最受欢迎库,列表如下: TensorFlow,用于解决机器学习工作负载和使用数据集问题...MXNet,作为Apache另一个库,用于简化深度学习工作流。 Theano,作为定义、优化和评估数学表达式库。 Pybrain,用于强大机器学习算法。...Julia Julia是一种高性能、通用动态编程语言,适合创建几乎任何应用程序,尤其非常适合数据分析和计算科学。能够与Julia一起工作各种工具包括: 流行编辑器,Vim和Emacs。...集成开发工具,Juno和Visual Studio。

    1.8K20

    Lisp语言简介_c++是什么语言

    这个比较小众编程到底是什么~ ————————————————————————— LISP(全名LISt Processor,即列表处理语言),由约翰·麦卡锡在1960年左右创造一种基于λ演算函数式编程语言...LISP有很多种方言,各个实现语言不完全一样。1980年代Guy L. Steele编写了Common Lisp试图进行标准化,这个标准被大多数解释器和编译器所接受。...在Unix/Linux系统,还有一种和Emacs一起Emacs Lisp(而Emacs正是用Lisp作为扩展语言进行功能扩展)非常流行,并建立了自己标准。...Lisp表达式是一个原子(atom)或表(list),原子(atom)又包含符號(symbol)與數值(number);表是由零个或多个表达式组成序列,表达式之间用空格分隔开,放入一对括号:...正如算数表达式 1+1 有值 2 一样,Lisp 表达式也有值,如果表达式 e 得出值 v,我们说 e 返回 v。

    2.3K20

    Emacs Tree-sitter 初体验

    现在较为流行编辑器, neovim 都已支持 ts 作为解析库。...在 Emacs ,之前都是采用正则方式去解析语言语法结构,这种方式虽然大多数情况是没有问题,但主要有以下几个问题: 正则比较消耗 CPU,导致对大文件进行高亮时容易导致 Emacs 卡主,参见:...Regexp Problems (GNU Emacs Lisp Reference Manual)[2] 对于有些语法结构,正则并不能很好工作,参见:The true power of regular.../releases Emacs 默认从 treesit-extra-load-path 指定路径去加载动态链接库,如果这个值是 nil ,它默认会从 user-emacs-directory 下 tree-sitter...,需要开启 Emacs 对应 mode 来使用,比如 c-mode 对应 c-ts-mode ,Emacs 为不同语言重新实现了一个以 ts-mode 结尾新 mode,在 29 版本,主要有如下

    1.3K10

    Emacs 折腾记

    我工作倒并没有用得到 Lisp 地方,但是最近眼前晃过一些书,比如《计算机程序构造和解释》、《码农》杂志第 13 期,都对这门古老语言推崇备至,历数现代 Lisp 方言先进性,再者我也一直有学习一门函数式编程语言想法...在搜索网友们对此经验之谈时候,自然而然地,目光逐渐聚集到 Emacs 这个使用 Emacs Lisp 作为扩展语言编辑器上。...Common Lisp 开发环境 学习 Common Lisp 是使用 Emacs 最主要任务,配好了文本编辑,当然得先把 Common Lisp 开发环境配置好了。...python % 来运行,但是在 Emacs 里,包括 Evil、eshell、shell 里,如果有等待用户输入语句 input 或 raw_input 等,因为 Emacs 只重定向了输出,无法重定向输入...在 ~/.emacs 文件添加 这个 3 表示在距离屏幕上下边缘还有 3 行时候再移动光标即自动滚屏,方便随时能看到当前编辑行上下文,可以根据自己使用习惯调整。

    1.3K20

    Emacs 折腾记

    我工作倒并没有用得到 Lisp 地方,但是最近眼前晃过一些书,比如《计算机程序构造和解释》、《码农》杂志第 13 期,都对这门古老语言推崇备至,还有垠神也撰文《Lisp 已死,Lisp 万岁!...在搜索网友们对此经验之谈时候,自然而然地,目光逐渐聚集到 Emacs 这个使用 Emacs Lisp 作为扩展语言编辑器上。...Common Lisp 开发环境 学习 Common Lisp 是使用 Emacs 最主要任务,配好了文本编辑,当然得先把 Common Lisp 开发环境配置好了。...本来什么也不用配置情况下 M-x ielm 就能进入一个 Emacs Lisp REPL,但是它与 Common Lisp 毕竟还是有区别,所以还是另配置一个。...python % 来运行,但是在 Emacs 里,包括 Evil、eshell、shell 里,如果有等待用户输入语句 input 或 raw_input 等,因为 Emacs 只重定向了输出,无法重定向输入

    1.9K10

    有比JSON更好东西吗?

    有两个轴线来比较各种语言: 自描述与模式定义格式 可读格式与机器可读格式 即,是否在接收程序检查单独文件(架构)定义了结构类型信息,或者消息本身是否包含类型信息。...GoogleCap'n Proto,因为它具有一些相同设计目标-零副本序列化和布局更适合版本控制。...用户: MongoDB 优点: 类型系统充满了MongoDB特定类型,但是相当实用 缺点: 类型系统相当实用,但是充满了不赞成使用,以及MongoDB特定东西 C字符串–尽管也有随机非C字符串。...用户:各种,尤其是cargo(Rust构建工具) 优点: 在没有深度嵌套结构情况下,可以很好地用作配置语言 缺点: 尝试制作深度嵌套结构时效果不佳 ---- ron https://github.com...对于列表以外复合数据类型,实际上没有公认语法。 READ尽管已经被证明是一个糟糕主意,但任何使用Lisp解释器的人都会尝试使用它进行阅读。

    4.7K30

    Clojure与LispClojure与Lisp

    自稳定运行Common Lisp出现起,再有各机构按各自所需而开展后续Lisp,包括1990年来自欧洲用户EuLisp、运行于Java虚拟机Clojure、受到Maclisp影响而创Emacs...2 函数也是一种数据类型 在Lisp语言中,函数与整数或字符串一样,也属于数据类型一种。它有自己字面表示形式(literal representation),能够储存在变量,也能当作参数传递。...7 符号(symbol)类型 符号实际上是一种指针,指向储存在哈希表字符串。...在读取期运行代码,使得用户可以重新调整(reprogram)Lisp语法; 在编译期运行代码,则是Lisp工作基础; 在运行期编译代码,使得Lisp可以在Emacs这样程序,充当扩展语言(extension...在其他语言中,这种形式只是经过解析在后台产生,但是Lisp直接采用它作为表达形式。它由列表构成,而列表则是Lisp基本数据结构。 用一门语言自己数据结构来表达该语言,这被证明是非常强大功能。

    1.9K30
    领券