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

Emacs Lisp:如何对列表中的奇数求和?

在Emacs Lisp中,要对列表中的奇数求和,可以使用以下代码:

代码语言:lisp
复制
(defun sum-odd-numbers (numbers)
  (let ((sum 0))
    (dolist (number numbers)
      (if (oddp number)
          (setq sum (+ sum number))))
    sum))

这个函数接受一个数字列表作为参数,并使用dolist循环遍历列表中的每个数字。如果数字是奇数,则将其添加到sum变量中。最后,函数返回sum变量的值,即列表中所有奇数的和。

例如,如果我们有以下列表:

代码语言:lisp
复制
(setq numbers '(1 2 3 4 5 6 7 8 9))

我们可以调用sum-odd-numbers函数来计算列表中奇数的和:

代码语言:lisp
复制
(sum-odd-numbers numbers)

这将返回结果25,因为1 + 3 + 5 + 7 + 9 = 25。

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

相关·内容

Python实现规整二维列表每个子列表对应求和

一、前言 前几天在Python白银交流群有个叫【dcpeng】粉丝问了一个Python列表求和问题,如下图所示。...s2 += i[1] s3 += i[2] s4 += i[3] print(list([s1, s2, s3, s4])) 上面的这个代码可以实现,但是觉得太不智能了,如果每个子列表里边有...50个元素的话,再定义50个s变量,似乎不太好,希望可以有个更加简便方法。...= [[1, 2, 3, 4], [1, 5, 1, 2], [2, 3, 4, 5], [5, 3, 1, 3]] [print(sum(i)) for i in zip(*lst)] 使用了列表解包方法...这篇文章主要分享了使用Python实现规整二维列表每个子列表对应求和问题,文中针对该问题给出了具体解析和代码演示,一共3个方法,顺利帮助粉丝顺利解决了问题。

4.5K40

flutter列表性能优化

嵌套列表 - ShrinkWrap 与 Slivers 使用 ShrinkWrap 列表列表 下面是一些使用ListView对象呈现列表列表代码,内部列表shrinkWrap值设置为 true。...而且你滑动时候列表会抖动! 重新构建嵌套列表 要了解如何使您用户免受卡顿威胁,请等待我第二节,下一节将使用 Slivers 而不是 ListViews 重建相同 UI。...使用 Slivers 列表列表 下面的代码构建了与之前相同 UI,但这次它使用Slivers 而不是收缩包装ListView对象。本页其余部分将引导您逐步完成更改。...如何将嵌套列表迁移到 Slivers 第1步 首先,将最外面的 ListView 更改为SliverList. // Before @override Widget build(BuildContext...这节课你来说怎么样,可以的话,支持一下吧 你快速滑动时候会发现,这个时候列表没有抖动!

3.5K00

Emacs Lisp

LISP 编程语族已经演变出许多种方言,现代最著名通用编程语种是 Common Lisp 和 Scheme , 以上解释来自 WIKI Emacs LispLisp 一个分支 Emacs Lisp...;; 缓冲区也叫做工作区,在Emacs打开一个文件,实际只是在Emacs构造该文件一个副本,放到缓冲区, ;; 在Emacs该文件编辑也是针对该副本编辑,唯有保存改动时,Emacs才会把缓冲区内容在复制到原文件中去...;; ;; ;; 如何切换Emacs工作模式 ;; Emacs有各种各样功能各异模式,工作模式含义其实就是Emacs当前文本编辑工作 ;; 更加敏感,比如高亮和缩进,并且支持一些特殊命令...;; 为了实验本教程lisp命令,我们要让Emacs工作在lisp-interaction-mode工作模式下, ;; 这个模式可以让我们在缓冲区中和Emacs进行互动,并且直接执行Lisp命令,得到结果...函数列表列表每一个元素分别取出来,赋给hello函数 (mapcar 'hello list-of-names) ;; 重新定义greeting函数,在一个新,清空bufferlist-of-names

2.3K40

Emacs Lisp2

;; 缓冲区也叫做工作区,在Emacs打开一个文件,实际只是在Emacs构造该文件一个副本,放到缓冲区,;; 在Emacs该文件编辑也是针对该副本编辑,唯有保存改动时,Emacs才会把缓冲区内容在复制到原文件中去...;;;; ;; 如何切换Emacs工作模式 ;; Emacs有各种各样功能各异模式,工作模式含义其实就是Emacs当前文本编辑工作;; 更加敏感,比如高亮和缩进,并且支持一些特殊命令。...;; 为了实验本教程lisp命令,我们要让Emacs工作在lisp-interaction-mode工作模式下,;; 这个模式可以让我们在缓冲区中和Emacs进行互动,并且直接执行Lisp命令,得到结果...);; 以后push函数可以在列表头部插入新元素,所以下面的命令将改变list-of-name中元素个数(push "Stephanie" list-of-names);; mapcar函数列表列表每一个元素分别取出来...,赋给hello函数(mapcar 'hello list-of-names);; 重新定义greeting函数,在一个新,清空bufferlist-of-names列表每一个元素,调用hello

96340

Emacs Lisp

LISP 编程语族已经演变出许多种方言,现代最著名通用编程语种是 Common Lisp 和 Scheme , 以上解释来自 WIKI Emacs LispLisp 一个分支 Emacs Lisp...;; 缓冲区也叫做工作区,在Emacs打开一个文件,实际只是在Emacs构造该文件一个副本,放到缓冲区, ;; 在Emacs该文件编辑也是针对该副本编辑,唯有保存改动时,Emacs才会把缓冲区内容在复制到原文件中去...;; ;; ;; 如何切换Emacs工作模式 ;; Emacs有各种各样功能各异模式,工作模式含义其实就是Emacs当前文本编辑工作 ;; 更加敏感,比如高亮和缩进,并且支持一些特殊命令...;; 为了实验本教程lisp命令,我们要让Emacs工作在lisp-interaction-mode工作模式下, ;; 这个模式可以让我们在缓冲区中和Emacs进行互动,并且直接执行Lisp命令,得到结果...函数列表列表每一个元素分别取出来,赋给hello函数 (mapcar 'hello list-of-names) ;; 重新定义greeting函数,在一个新,清空bufferlist-of-names

2.2K30

VBA程序:加粗单元格求和

标签:VBA 下面的VBA自定义函数演示了如何对应用了粗体格式单元格求和。...在VBE,插入一个标准模块,在其中输入下面的代码: Public Function SumBold( _ ParamArray vInput() As Variant) As Variant...ErrHandler: '检查是否溢出 If Err.Number = 6 Then SumBold = CVErr(xlErrNum) Resume Continue End Function 注意,当求和单元格区域中单元格格式发生更改时...这意味着,仅对求和单元格区域中单元格设置加粗格式,使用该自定义函数求和值不会改变,除非按F9键强制计算,或者在工作表输入内容导致工作表重新计算。...这个程序也提供了一个模板,可以稍作修改对其它格式设置单元格来求和

13710

Emacs 之光成长历程

与大多数用户不同,嘉宾在接触 Emacs 不久即开始尝试攒写自己配置,并陆陆续续发布了几个比较实用包,比如 valign[1],嘉宾是如何做到?...更令人好奇是,嘉宾如何在短期内熟悉 Emacs 源码并为之贡献多个 patch,相信通过嘉宾学习、贡献经历,可以给听众打开 Emacs 源码神秘面纱,让更多用户参与到 Emacs 贡献,一个多小时分享...[5] • Emacs 仓库提交记录[6] • 28 版本新增 shortdoc[7],解决手册冗长,提供简洁示例代码 •正则表达式两处文档: • 只介绍如何写正则 34.3 Regular...Expressions[8] • 15.5 Regular Expression Search[9] 这一小结介绍正则相关函数 •嘉宾 Emacs 主要 patch: • Improve word...,句号后两个空格 • 注释用是 C 风格 /* */ ,而不是 C++ // • 函数名后面跟一个空格,再是括号 •读 Emacs 源码技巧 • lisp.h[12] 里面有 C 如何调用 ELisp

37610

Excel公式技巧84:混合数据数值求和

如下图1所示,在列A存在文本、数值和空单元格。现在,想要求头3个出现数字之和,也就是说,求单元格A510000、A142000、A201000这3个数字之和。 ?...图1 我们一眼就可以看出这3个数字是该列首先出现前3个数字,但Excel不知道。如何使用公式来求得这3个数字之和呢?可以使用下面的数组公式实现。...在单元格D2输入下面的数组公式: =SUM(SUM(OFFSET(A1,SMALL(IF(ISNUMBER(A2:A100),ROW(A2:A100)),{1,2,3})-1,))) 结果如下图2所示...传递到最外层SUM函数: SUM(10000, 2000, 1000) 得到13000。 有点难以理解!...其实,尽可能让数据符合Excel特点,合理布局,往往会给数据分析带来便利,而不必像上面那样,费尽心力编写冗长且难以理解数组公式了。

3.1K50

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

92630

一名ClojurianEmacs配置

这就不得不提起Clojure这门lisp方言,出于lisp和函数式编程痴迷,我选择了基于JVMClojure作为自己偏好语言,而emacs天生为lisp而生。...由于emacslisp亲和性,我几乎没花多少时间就掌握住了常用操作技巧。 不过,emacs最负盛名学习曲线确实让学习者绕过圈子,只要一段时间不用,就会忘记很多基本操作。..."http://melpa.org/packages/")点号(dot)表示法也比较奇怪,其实这是lispDotted pair表示法,用法和普通列表类似,但因为是pair缘故,你可以使用(...emacs lisp不熟悉不要紧,先找个教程练习一下它用法,比如learnxinyminutes就非常不错。完成这个教程,大体不会对elisp犯怵了。...按照惯例,我在~/.emacs.d目录下建立一个lisp目录用于存放所有自定义模块文件,随后在init.el中加入下面这句代码,意在把lisp目录加到emacs加载路径列表里。

2.7K20

使用 RustC 开发 Emacs 插件

本文就来介绍,如何使用 C/Rust 两种语言来进行 Emacs 动态模块开发。本文所有代码可在 emacs-dynamic-module 这里找到。...Values 这里着重介绍下如何将 C 里面的函数导出到 ELisp emacs_value c_add(emacs_env *env, ptrdiff_t nargs, emacs_value...ret); 热加载 在开发过程,最重要是热加载,不能每次重启服务来让新代码生效,但是这里通过 module-load 加载动态模块,是无法卸载,只能重启 Emacs 解决,这不是很友好,可以通过一种变通方式来实现...•用Rust扩展Emacs功能 | NIL,这篇文章算是官方文档中文翻译,供读者参考 热加载 使用 emacs-module-rs 开发动态模块,会暴露一个 reload 函数 emacs_rs_module_init...for Emacs Lisp

79420

Emacs 折腾记

我工作倒并没有用得到 Lisp 地方,但是最近眼前晃过一些书,比如《计算机程序构造和解释》、《码农》杂志第 13 期,都对这门古老语言推崇备至,历数现代 Lisp 方言先进性,再者我也一直有学习一门函数式编程语言想法...在搜索网友们对此经验之谈时候,自然而然地,目光逐渐聚集到 Emacs 这个使用 Emacs Lisp 作为扩展语言编辑器上。...作为一名 Vimer, Emacs 不是没动过心,也曾尝试着使用过两回,最大印象就是快捷键相比 Vim 实在是太难按了。没有需求就没有驱动力,这回貌似有了,Let’s 折腾起。...然后在如何运行当前 py 文件这件事上遇到些问题。在 Vim 我一直是用 :!...在 ~/.emacs 文件添加 这个 3 表示在距离屏幕上下边缘还有 3 行时候再移动光标即自动滚屏,方便随时能看到当前编辑行上下文,可以根据自己使用习惯调整。

1.3K20

几种编程语言优缺点

比如,Lisp 机器,是上世纪 50 年代 Lisp 计算模型实现。Lisp 模型是基于 lambda 代数一种计算语言表示法,后者是与图灵机同构一种模型。...它俩一个牛逼地方刚好是另一个傻逼了地方。 如果说,C是最靠近计算机是如何工作语言模型,Lisp 就是最能反映计算(注意,这里没有了“机”字,计算机和计算是很不同!译者注)是如何工作模型。...他们当时没有足够多 Emacs-Lisp 的人。...当其他那些语言(尤其是 Lisp 和 Smalltalk)都想假装操作系统并不存在,列表(Lisp )和对象(Smalltalk )就是把屎搞出来唯一存在,Perl 却走了截然相反路子。...译者注)式他那抹平列表疯狂错误解决方案。但是 Perl 市场宣传做得那么难以置信地好以致它让你觉得这是你身上发生过最好东西。你可以对任何东西取它引用。这很有趣!

3.4K110

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

比如,Lisp 机器,是上世纪 50 年代 Lisp 计算模型实现。Lisp 模型是基于 lambda 代数一种计算语言表示法,后者是与图灵机同构一种模型。...它俩一个牛逼地方刚好是另一个傻逼了地方。   如果说,C是最靠近计算机是如何工作语言模型,Lisp 就是最能反映计算(注意,这里没有了“机”字,计算机和计算是很不同!...译者注)是如何工作模型。你不需要懂很多 Lisp,真的。紧咬 Scheme 就哦了,因为它是最简单最干净。其他 Lisp 已经发展成了很大,很复杂(很好很强大?...他们当时没有足够多 Emacs-Lisp 的人。...译者注)式他那抹平列表疯狂错误解决方案。但是 Perl 市场宣传做得那么难以置信地好以致它让你觉得这是你身上发生过最好东西。你可以对任何东西取它引用。这很有趣!

2.2K80

Emacs 折腾记

我工作倒并没有用得到 Lisp 地方,但是最近眼前晃过一些书,比如《计算机程序构造和解释》、《码农》杂志第 13 期,都对这门古老语言推崇备至,还有垠神也撰文《Lisp 已死,Lisp 万岁!...在搜索网友们对此经验之谈时候,自然而然地,目光逐渐聚集到 Emacs 这个使用 Emacs Lisp 作为扩展语言编辑器上。...作为一名 Vimer, Emacs 不是没动过心,也曾尝试着使用过两回,最大印象就是快捷键相比 Vim 实在是太难按了。没有需求就没有驱动力,这回貌似有了,Let’s 折腾起。...Common Lisp 开发环境 学习 Common Lisp 是使用 Emacs 最主要任务,配好了文本编辑,当然得先把 Common Lisp 开发环境配置好了。...然后在如何运行当前 py 文件这件事上遇到些问题。在 Vim 我一直是用 :!

1.8K10
领券