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

Common Lisp --有没有一个内置的函数可以通过键来过滤plist?

在Common Lisp中,可以使用plist-get函数来通过键来过滤plist(Property List)。

plist-get函数的作用是从plist中获取指定键的值。它接受两个参数:plist和键。如果plist中存在指定的键,则返回该键对应的值;否则返回nil。

以下是一个示例代码:

代码语言:lisp
复制
(setq my-plist '(:name "John" :age 25 :gender "Male"))

; 使用plist-get函数获取键为:age的值
(setq age (plist-get my-plist :age))

在上述示例中,我们定义了一个plist my-plist,其中包含了姓名、年龄和性别的信息。通过调用plist-get函数,我们可以获取键为:age的值,并将其赋给变量age

关于Common Lisp的更多信息,你可以参考腾讯云的产品介绍链接:Common Lisp - 腾讯云

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

相关·内容

Emacs 折腾记

Common Lisp 开发环境 学习 Common Lisp 是使用 Emacs 最主要任务,配好了文本编辑,当然得先把 Common Lisp 开发环境配置好了。...本来什么也不用配置情况下 M-x ielm 就能进入一个 Emacs Lisp REPL,但是它与 Common Lisp 毕竟还是有区别,所以还是另配置一个。...在 ~/.emacs 文件里加上: M-x slime 就可以进入到 REPL 进行 Common Lisp 学习了。...C/S 模式快速启动 Emacs Emacs 启动速度是相比 Vim 来说被诟病吐槽得很多一个点,我们在 Windows 下可以利用 C/S 模式实现 Emacs 快速打开文件。...Vim 不一样,是光标移到屏幕上或者下边缘时突然跳动半屏,比较不符合我目光跟着光标走习惯,这个可以使用一个插件解决。

1.3K20

(cljsrun-at (JSVM. :browser) 简单类型可不简单啊~)

前言  每逢学习一个语言时总要先了解这门语言支持数据类型,因为数据类型决定这门语言所针对问题域,像Bash那样内置只支持字符串脚步明显就是用于文本处理啦。...cljs中内置标量类型比js丰富得多,一方面方便了操作,另一个方面增加了学习成本,因此从js转向cljs时可能会略感不适,下面我们一起认识吧!...;; 定义一个List实例,其元素为a和b两个Symbol实例 (def symbol-list (list 'a 'b))  大家有没有注意到'这个符号啊?...,不过由于Var会根据其所在列表中位置解析为是Macro还是函数还是值,因此需要通过#'阻止,而#'就是varreader macro。...实质上就是语言原语,其他函数和Macro均基于它们构造,当解析器遇到一个Symbol时会解析顺序是Special Form -> Var。

68870

Emacs 折腾记

历数现代 Lisp 方言先进性,再者我也一直有学习一门函数式编程语言想法,看起来,Lisp 是不二之选。...本来什么也不用配置情况下 M-x ielm 就能进入一个 Emacs Lisp REPL,但是它与 Common Lisp 毕竟还是有区别,所以还是另配置一个。...)) (slime-setup '(slime-company)) M-x slime 就可以进入到 REPL 进行 Common Lisp 学习了。...C/S 模式快速启动 Emacs Emacs 启动速度是相比 Vim 来说被诟病吐槽得很多一个点,我们在 Windows 下可以利用 C/S 模式实现 Emacs 快速打开文件。...For use with Internet Explorer 平滑滚动 Emacs 默认滚动方式和 Vim 不一样,是光标移到屏幕上或者下边缘时突然跳动半屏,比较不符合我目光跟着光标走习惯,这个可以使用一个插件解决

1.8K10

Lisp本质(The Nature of Lisp)学习思考

Lisp函数角色十分特殊, 函数也是一种数据类型, 就像整数和字符串一样, 因此可以把它赋值给符号。乘法函数Lisp内置函数, 默认赋给*, 你可以把其他函数赋值给*, 那样*就不代表乘法了。...你可以一个内置专门用于创建函数函数来创建函数,然后把它赋值给符号fn, 用伪码表示就是: fn [a] { return *(a, 2); } 这段代码返回一个具有一个参数函数, 函数功能是计算参数乘...*, 3, 4 我们可以一个内置函数head返回表一个元素, tail函数来返回剩余元素组成表。...Lisp内置函数想像成Ant任务。...Lisp内置函数集十分精简, 只包含了十分必要部分。剩下函数都是作为标准库实现Lisp宏 我们已经看到, 元编程在一个类似jsp模板引擎方面的应用。我们通过简单字符串处理来生成代码。

1.7K60

Emacs Lisp

LISP 编程语族已经演变出许多种方言,现代最著名通用编程语种是 Common Lisp 和 Scheme , 以上解释来自 WIKI Emacs LispLisp 一个分支 Emacs Lisp...,一种直译式脚本语言,为LISP方言之一,GNU Emacs与XEmacs文字编辑器都使用这个编程语言扩展它们功能,它直译器是以C语言实作,它受到Maclisp影响很大,但是跟Common...(+ 2 2) ;; Elisp中表达式可以通过括号嵌套 (+ 2 (+ 1 1)) ;; 在lisp-interaction-mode模式中,我们可以直接计算一个表达式,计算方法是 (+ 3..." my-name)) ;; ^ 把光标停在这里,再键入C-x C-e 执行defun命令定义函数 ;; 通过defun命令,你已经在Emacs中安装了这个hello函数,这个函数就成为了Emacs一部分...'bold))) (other-window 1)) ;; 执行这个函数 (boldify-names) == 帮助和参考== ;; 在Emacs中我们可以通过如下方式得到变量和函数帮助信息

2.3K40

Emacs Lisp

LISP 编程语族已经演变出许多种方言,现代最著名通用编程语种是 Common Lisp 和 Scheme , 以上解释来自 WIKI Emacs LispLisp 一个分支 Emacs Lisp...,一种直译式脚本语言,为LISP方言之一,GNU Emacs与XEmacs文字编辑器都使用这个编程语言扩展它们功能,它直译器是以C语言实作,它受到Maclisp影响很大,但是跟Common...(+ 2 2) ;; Elisp中表达式可以通过括号嵌套 (+ 2 (+ 1 1)) ;; 在lisp-interaction-mode模式中,我们可以直接计算一个表达式,计算方法是 (+ 3..." my-name)) ;; ^ 把光标停在这里,再键入C-x C-e 执行defun命令定义函数 ;; 通过defun命令,你已经在Emacs中安装了这个hello函数,这个函数就成为了Emacs一部分...'bold))) (other-window 1)) ;; 执行这个函数 (boldify-names) == 帮助和参考== ;; 在Emacs中我们可以通过如下方式得到变量和函数帮助信息

2.2K30

Clojure 运行原理之编译器剖析

为了更加具体描述 Clojure 运行原理,会分两篇文章介绍。 本文为第一篇,涉及到主要内容有:编译器工作流程、Lisp 宏机制。...编译器工作流程 与解释型语言里解释器类似,编译型语言通过编译器(Compiler)将源程序编译为字节码。...关于扩展read table好处,可以参考 StackOverflow 上 What advantage does common lisp reader macros have that Clojure...是否为一个宏,而这又是通过检查var是否为一个函数,并且元信息中macro是否为true。...根据 JVM bytecode 规范,每个.class文件都必须由类组成,而 Clojure 作为一个函数式语言,主体是函数通过 namespace 封装、隔离函数,你可能会想当然认为每个 namespace

96230

不管是嵌套 XML,还是 Lisp 嵌套括号,还是 XXX Map 数据结构,一切都是树形结构——映射。Lisp本质(The Natur

乘法函数Lisp内置函数, 默 认赋给, 你可以把其他函数赋值给, 那样*就不代表乘法了。你也可以把这函数值存 到另外变量里。...你可以一个内置专门用于创建函数函数来创建函数, 然后把它赋值给符号fn, 用伪码表示就是: fn [a] { return *(a, 2); } 这段代码返回一个具有一个参数函数,...值是三元素表, 三个元素分别是*, 3, 4 我们可以一个内置函数head返回表一个元素, tail函数来返回剩余元素组成 表。...Lisp内置函数想像成Ant任务。...Lisp内置函数集十分精简, 只包含了十分必要部分。剩下函数都是作 为标准库实现Lisp宏 我们已经看到, 元编程在一个类似jsp模板引擎方面的应用。

1.4K20

iOS开发xconfig和script脚本使用详解

文件是可以继承,一般先建立一个Common Configuration文件用来作为父类,为此新建一个名为CommonConfiguration文件,并加入如下代码: APP_NAME = TestDemo...pch文件中利用条件编译定义不用实现项目的动态切换配置,上述宏定义一般定义在.pch中,通常.pch文件中定义宏都比较杂乱,希望能单独放在一个独立文件中,可以通过新建一个头文件env.h, 把上述宏定义放到...Common.xconfig中第一个配置必须有:GCC_PREPROCESSOR_DEFINITIONS = (key)':通过key指定每个模式下对应自定义名字,通常将宏名字和key名字保持一致...前面我们通过info.plist获取到了.xconfig文件中自定义变量,再次我们同样通过info.plist获取自定义变量当做宏使用,首先在info.plist中新建一个WEBSERVICE_URL...environment variables共享build settings,可以将环境变量在这里理解为全局变量,这里通过环境变量拿到了info.plistCFBundleShortVersionString

2.6K10

一文读懂基于 Yaegi 解释器开发可热插拔 Traefik 插件

— 03 — 基于 Golang 解释器类型 Go 语言本身是一种编译型语言,但是也可以通过编写解释器方式实现解释执行。...3、Gisp:Gisp 是一个使用 Go 语言编写 Lisp 解释器,它支持基本 Lisp 语法和函数,并提供了一些扩展功能,如 Go 函数和类型调用。...与上述相比较,Golo 是一个更加复杂和功能更为丰富 Lisp 方言,其语法和特性与 Common Lisp 有很多相似之处。...那么为什么不采取最后一个逻辑步骤并最终构建一个完整 Go 解释器呢? 通常用于高级脚本编写和低级实现编程语言是不同,但通过 Go,我们有机会将两者统一起。...外部包可以通过 import 语句引入,并可以在 Yaegi 中直接调用其中函数和方法。

1.5K51

Lisp学习--Windows下面的开发环境搭建

很久以前,就准备学习Lisp,但是遇到不少困难,社区太凌乱,也一直很犹豫,直到看了《Common Lisp - 想说爱你不容易》,想看看Common Lisp怎么样,之前都是拿Lisp方言Schemel...练习。...正好有一篇Windows下如何安装使用CLISP文章《Lisp语言: 在Windows下搭建CLisp环境》,于是在官网下载了一个安装程序 http/SF     (sources and win32...现在,可以开始Common Lisp学习之旅了,比如写第一个函数: ? 全选文字,右键菜单,发送到Lisp执行,就得到了结果4,很方便。 有了这个,大家还觉得学习Lisp很复杂么?...参考: 推荐另外一种Lisp环境 AllegroCL ,它有图形化编程环境,可以开发窗体应用程序,请参考文章 Windows环境下学习Lisp和Scheme两大利器 (http://seagate.iteye.com

2.9K60

Clojure 开发那些事

,很幸运,Clojure 里面函数是一级成员,这意味着函数可以作为参数传入,也可以作为函数值返回,能够进行这两类操作函数称为“高阶函数”(high-order functions),这在任何一门函数式语言中都很普及...使用比较简单,通过 Intellj 插件管理器安装后即可使用,第一次使用时需要设置下快捷类型 Emacs + Cider 作为一门 Lisp 方言,怎么能没有一个 Emacs mode 呢?...“操作系统”,对以括号著称 Lisp 语言有天然支持,括号匹配主要是 Paredit mode,可以方便把括号作为一个整体操作,不过像 Cursive 这种插件也集成了 Paredit 主要功能...,所以不用 Emacs 同学也不用担心,毕竟 Emacs 学习成本实在是太高,我个人觉得比 Vim 有过之而无不及,相对于 Vim 模态概念,Emacs 里面通过 Ctrl 与 Meta 与一般按键区别...,有没有不用修改呢?

1.5K20

用expect脚本实现Xcode对越狱设备动态库注入

我们还可以使用scp命令实现本地设备和远程设备之间文件拷贝。很多操作系统比如Linux、macOS都内置了ssh服务和客户端相关功能。...这个时候我们可以使用expect解决这个问题。 expect 脚本 expect是一个免费编程工具语言,用来实现自动和交互式任务进行通信,而无需人干预。...其原理在Cydia基石:MobileSubstrate有说明。 你可以借助一些第三方工具创建一个Tweak程序,也可以在Xcode直接创建动态库。...编辑这个plist文件,这个plist文件用于过滤加载动态库应用程序列表,里面具体格式和内容定义请参考Tweak相关教程。 构建出动态库真机运行版本。...上面第5步拷贝操作,可以使用scp命令完成,这需要登录到越狱设备上。也可以通过一些可视化界面工具完成拷贝。 你是否希望第5步操作通过脚本来自动完成,而无需人工干预呢?

1K30

人工智能技术入门该读哪些书?StackOverflow上最推荐这些

本书适合对计算机视觉和图像处理有基本了解的人群,通过本书能更好地了解OpenCV如何让编程任务更容易。 两位作者将众所周知算法编码成可调用函数库,可以用来完成更复杂任务。...实用Common Lisp编程 ? Practical Common Lisp作者是Peter Seibel,加州大学伯克利分校教授。...本书是一本不同寻常Common Lisp入门书,介绍了作者学习经历,分别讲述了各种基础知识,主要包括:REPL及Common Lisp各种实现、S-表达式、函数与变量、标准宏与自定义宏等,然后通过...9个章节详细介绍了几个有代表性实例,包含如何构建垃圾过滤器、解析二进制文件、构建ID3解析器,以及如何编写一个完整MP3 Web应用程序等内容。...本书适合Common Lisp初学者及对其感兴趣相关人员。 中译本《实用Common Lisp编程》定价89元,各大电商平台都有,偶尔断货。

1.3K51

各种编程语言对尾递归支持

函数计算会维护一个栈,每当遇到函数调用会记录当前运行状态,如此在函数返回时候可以恢复上下文。   ...这里,可以采用一个编译技术,就是尾递归优化,其一般情况是,如果一个函数计算中遇到了完全转化成另一个函数调用情况,那么栈的当前函数部分信息可以完全抹去,而替换为新函数。...Common Lisp   测完Scheme,再来测Scheme本家兄弟,另外一种Lisp——Common Lisp   先用Common Lisp实现add,因为Common Lisp将数据和过程用不同命名空间...sbcl是Common Lisp另外一个实现,在这个实现中,我们使用第一个add函数版本,没有发生崩栈。...也终于给了我们一个更为靠谱Common Lisp实现。

2.6K20

Clojure与LispClojure与Lisp

(艾伦·凯) "任何C或Fortran程序复杂到一定程度之后,都会包含一个临时开发、只有一半功能、不完全符合规格、到处都是bug、运行速度很慢Common Lisp实现。"...开展一个表处理软件系统实现McCarthy提出建议采纳者程序工作,尔后推动了表处理语言LISP诞生。...自稳定运行Common Lisp出现起,再有各机构按各自所需而开展后续Lisp,包括1990年自欧洲用户EuLisp、运行于Java虚拟机Clojure、受到Maclisp影响而创Emacs...如今,在任何具备 Java 虚拟机地方,都可以使用 Lisp 强大功能。 Clojure 是一种函数式编程语言 它囊括了函数式编程所有精华: 避免了不稳定状态、递归、更高阶函数等。...Clojure 还是一个动态类型语言 我们可以选择添加类型信息提高代码中关键路径性能。

1.9K30

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

大家好,又见面了,我是你们朋友全栈君 摘自维基百科,原链接为:http://zh.wikipedia.org/zh/LISP 因为Clojure是Lisp一种方言,所以我们可以先来了解一下Lisp...LISP有很多种方言,各个实现中语言不完全一样。1980年代Guy L. Steele编写了Common Lisp试图进行标准化,这个标准被大多数解释器和编译器所接受。...LISP语言主要现代版本包括Common Lisp和Scheme。 基本介绍 LISP 是第一個函數型程式語言,区别于C/Java等命令型编程语言。...> (atom ‘a)t> (atom ‘(a b c))()> (atom ‘())t 现在我们有了第一个需要求出自变量值操作符,让我们来看看 quote 操作符作用——通过引用(quote)一个表...反之一个被引用表仅仅被视为表 > (atom ‘(atom ‘a))() 引用看上去有些奇怪,因为你很难在其它语言中找到类似的概念,但正是这一特征构成了 Lisp 最为与众不同特点——代码和数据使用相同结构表示

2.3K20

来自Java程序员Python新手入门小结

=True表示降序: sort操作是列表对象本身,还可以用全局函数sorted排序,该函数会生成一个副本,如下图,newList是排序后列表,而原有的myList保持不变: 与列表相关常用全局函数...,利用列表生成一个新集合,里面的值是原列表每个元素平方,而且由于集合不重复性,原列表中重复元素已经被过滤为只剩一个: 导入库 语法: import 模块名 [as 别名] 例如导入math模块计算正弦值...: JSON处理 利用json进行对象和字符串之间序列化、反序列化转换: 还可以用dump和load方法通过文件进行序列化反序列化操作 内置模块:random 生成随机数也是常见操作: 还可以产生整形随机数...内置函数,熟悉lambda使用 filter:过滤器,下面是个过滤奇偶数例子,第一个参数是判断是否过滤逻辑,True保留,第二个参数是列表,最终奇数全部被剔除,只留下偶数: map:逐一转换,...: sort:排序,先来看看最简单: sorted可以接受排序处理函数作为参数,例如按照绝对值进行排序,内置函数是abs,被作为参数传给sorted: sorted方法会生成一个列表,如果想直接改变原列表就不适合用

88420

.NET DLR 上IronScheme 语言互操作&&IronScheme控制台输入中文问题

这个周末花了不少时间研究Lisp。...Lisp是古老函数式语言,跟C,C++等命令式语言完全不一样编程风格,但Lisp方言很多,最后Lisp标准委员制定了Common Lisp,但内容很长,有1000多页,因此功能比较强大;而Lisp...Lisp程序有一个天然执行多个参数运算特点,所以我们可以执行多个数字相加。也可以使用 display 函数显示一个字符串。...既然是截获了键盘敲击,那么我就顶一个特殊,按下它在弹窗出来一个窗口,在里面输入中文就可以了吧,于是找到文件 SuperConsole.cs ,找到 Insert(ConsoleKeyInfo key...利用 Lisp强大表达能力,调用.net强大类库 Scheme可以当作脚本语言,可以.net程序动态生成一个 Scheme程序,Scheme程序再调用.net。。。。 这个过程用途,明白了吧?

98160

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券