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

在我的Lisp程序中,部分分数被简化,我需要帮助

在Lisp程序中,如果部分分数被简化,你可以通过使用合适的数据类型和函数来解决这个问题。以下是一些可能的解决方案:

  1. 使用分数数据类型:Lisp中的一些实现(如Common Lisp)提供了分数数据类型,例如ratio。你可以使用这个数据类型来表示和操作分数,确保它们不会被简化。例如,你可以使用/函数创建一个分数对象,使用numeratordenominator函数获取分子和分母。
  2. 使用精确的小数表示:如果你不需要完全精确的分数表示,你可以使用Lisp中的浮点数类型(如float)来表示分数。然后,你可以使用适当的函数来执行数值计算,例如+-*/
  3. 自定义分数表示:如果你的Lisp实现不提供分数数据类型,你可以自己实现一个分数表示。你可以使用列表、结构体或其他数据结构来表示分数的分子和分母,并编写相应的函数来执行分数运算。
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

自己桌面端应用运行了小程序

作为程序员必须要(xia)精(zhe)进(teng),就单纯有一天突然奇想,能否做到像微信一样桌面应用也跑上自己程序呢?...图片细细想下,这样标准容器化好处,可以保证开发语言环境存在差异下,“套壳子程序”能独立运行同时,也可以与“其他套壳子程序”联动使用。...SDK 前还需要在 FinClip 后台上架小程序上架了官方示例小程序代码包,也尝试了直接把微信小程序代码包上传到 IDE ,发现也能兼容。...以下是桌面端实际运行小程序结果。图片如果做一定适配优化,小程序展示尺寸还可以适配打开窗口大小,效果也不错。...图片个人认为一些企业做OA模块化开发还挺适合在桌面端用小程序,毕竟小程序能够实现动态化更新,不必硬要通过迭代更新实现。好了以上就是瞎折腾全过程,欢迎各位大佬拍砖。

1.4K30

程序员到架构师,总结升级过程那些坑以及各种体会

三、陷入各组件细节 经过一些大神帮助后,也知道了一些架构级别的组件,比如消息级别的组件Kafka,以及zookeeper等,这时,当我看到这些组件神奇功效后,就忍不住去看底层实现,当我沉浸于底层实现精妙时...这时,确实能向别人吹嘘某种组件底层实现细节,让别人也感觉很厉害,但仅此而起。 当我了解到一个个组件实现细节后,也发现自己确实也长了不少知识,但对实际工作帮助并不大。...五、后来发现架构师更得考虑可重用和可维护性 经过不断徘徊和摸索,现在发现,架构师能力其实是体现在日常工作一个项目里,并不是架构师搭建好系统架构体系后就什么都不干了,架构师项目开发过程,更能帮助组员搭建出可用性高和可维护性强应用系统...可能一般程序员就会就事论事,用最简单最快速方式,针对每种方式建一个类,做多在方法级别抽象出来,估计这样只能实现方法级别的重用。...然后再进一步考虑下,面临问题场景能否和设计模式一种或多种匹配上?如果能的话,该怎么用设计模式思路来改进?

65500
  • NUS CS1101S:SICP JavaScript 描述:前言、序言和致谢

    1998 年演讲“语言成长”评论说,一个优秀程序员“不仅仅是编写程序。一个优秀程序员建立了一个工作词汇。”...然而,当我考虑特定计算时,经常对自己说:“期望这个两个元素列表是名字和姓氏,但我期望那个两个元素列表是复数实部和虚部,而我将把另一个两个元素列表视为分数分子和分母。”...换句话说,区分——并且在数据结构明确表示这些区分可能是有用部分原因是为了防止错误,比如意外地将复数视为分数。(再次强调,这是关于人类能力和人类局限性评论。)...任何规模超过几行 Lisp 程序都无法没有自由功能情况下编写。发明和适应;发作和重新发明!我们向括号巢穴书写他思想 Lisp 程序员干杯。 —Alan J....这为我们提供了一个机会,第 4.1 节向读者介绍程序解析概念,这是编程语言处理器重要组成部分

    18010

    函数式编程很难,这正是你要学习它原因

    然而,很多年来,我们一直教导说函数式编程语言很好很棒。仍然记得当我第一次阅读ESR著名关于学习Lisp语言论文时困惑。...Lisp语言跟Haskell、Ocaml和Scala语言不同,认为是出了名难学,可以说是臭名昭著。文雅的人说这是Lisp语言深度&广度体现。不文雅的人说这是意淫或玩弄学术或简单没必要。...可以打保票说,如果你还不曾有过这样认识,一旦你学了一种Lisp语言,你会发现所有的Lisp变种都很相似。   有人说,大部分人第一次使用Haskell或Ocaml时都完全不知所措。...对而言,已经不惊奇于由于这样思维而阻止他们学习函数式语言现象;他们需要学习一种跟指针和递归一样基础新概念。他们需要有一种只有专业人员完成清晰商业目标时才具有的耐心和斗志。...想,如果你是一个很有经验程序员,这最能应付这个问题答案是:选一种符合你需求。如果你需要在JVM上工作,选择Scala或Clojure。

    1.1K51

    PHP 是最糟糕编程语言?

    已有将近二十年编程经验,并使用过各种编程语言进行开发。以前做过很多工作和现在正在做这份工作非常高兴能够将 PHP 作为核心编程语言。...LISP 本身并非一种单一语言,而是一个语言家族。尽管 Common LISP 设计成一种标准,但是 LISP 本身实现方式是根据需要完成各种工作而存在。...这些用户帮助修补 Unix 以满足他们自己需求。Dennis Ritchie 能够根据需求将这些补丁整合在一起,而不必事先考虑这些需求。 与 LISP 不同,C 至今仍然大量使用。...然而,还有一些东西,比如简短箭头函数(arrow function)、属性和枚举,才是开发者想要用来简化代码东西。 PHP 不需要一致性 设计一定不能太过不一致。...Chris 12 年编程生涯中使用 了很多种不同框架和语言,但是他一天部分时间都在使用 PHP 和 Python。

    1.8K20

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

    /lisp.html 简介 最初web某些角落偶然看到有人赞美Lisp时, 那时已经是一个颇有经验程序员。...其实大错特错了。 试着学了一下Lisp, 结果马上就撞了墙。那些范例代码吓坏了。想很多初次接触Lisp语言的人, 一定也有过类似的感受。Lisp语法太次了。...一个语言发明人, 居然不肯用心弄出一套漂亮语法, 那谁还会愿意学它。反正, 是确确实实那些难看无数括号搞蒙了。 回过神来之后, Lisp社区那伙人交谈, 诉说沮丧心情。...至少从JamesAnt网站上发表文章看起来, 他所说理由完全是似是而非。他主要理由是移植性和扩展性, Ant案例上, 看不出这两条有什么帮助。...概念挺简单, 其要点是把数据访问内容(至少是那些比较琐碎部分)抽象出来, 用类来映射数据库表, 然后用访问对象属性访问器(accessor)办法来间接实现查询。这样就极大地简化了开发工作量。

    1.7K60

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

    作者 | Claire D 译者 | 苏本如,编辑 | 伍杏玲 来源 | CSDN(ID:CSDNnews) 人工智能已成为我们日常生活不可或缺部分,它被广泛地应用到几百种实际场景,极大地便利人们工作和生活...Python易于学习,为程序员和数据科学家们提供了一个更轻松地进入人工智能开发世界入口。 Python是一个关于程序需要多少自由实验。...Neuroph Neuroph GUI帮助下,Neuroph使得使用Java开源框架设计神经网络成为可能。 如果Java有真正垃圾回收,那么大多数程序执行完后都会把自己从内存删除。...Haskell认为是一种非常安全编程语言,与其他编程语言相比,它在错误处理方面提供了更大灵活性。Haskell很少发生错误。...Haskell提供一些功能包括: 强大抽象能力 内置内存管理 代码可重用性 易于理解 SQL、Lisp和Haskell是见过仅有的编程语言,在这些语言中,人们花在思考上时间比写代码时间要多

    1.7K20

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

    以下为译文: 人工智能已成为我们日常生活不可或缺部分,它被广泛地应用到几百种实际场景,极大地便利人们工作和生活。...Python易于学习,为程序员和数据科学家们提供了一个更轻松地进入人工智能开发世界入口。 Python是一个关于程序需要多少自由实验。...Neuroph Neuroph GUI帮助下,Neuroph使得使用Java开源框架设计神经网络成为可能。 如果Java有真正垃圾回收,那么大多数程序执行完后都会把自己从内存删除。...采用了Lisp开发一些著名项目包括Reddit和HackerNews。 就Lisp而言,你知道它是世界上最美丽语言,至少Haskell出现之前是这样。...Haskell认为是一种非常安全编程语言,与其他编程语言相比,它在错误处理方面提供了更大灵活性。Haskell很少发生错误。

    1.8K20

    《代码英雄》第三季(7):与机器对话

    但是在当时,广泛认可定义是:能够执行认为有智力举动能力。但持这个观点这些人实际上是数学家、逻辑学家和计算机程序员。意思是,说句粗俗的话,下棋能力认为是智力明确标志。... 80 年代初期,大量资金涌入该领域。 00:12:29 - Saron Yitbarek: 我们可以讨论一下为什么这个热潮后来干涸了。但是,现在可以肯定一点是,事情已经大肆炒作了。...西海岸,很多人精力吸引到制造个人电脑上。从 40 年后今天看来,试着让电脑进入美国每个家庭,比帮助财富 1000 强企业做出更好决策,是一个更引人注目的概念。...LISP 不是那样设计。它被设计为仅在人工干预基础上发展。然而,对于现在机器学习算法而言,其中学习部分意味着它们会根据所接触数据进行自我调整。...它使新手程序员能够加入 AI 世界。 00:24:29 - Rachel Thomas: 只想告诉大家,实际上你只需要一年编码经验。你不需要诸如“鬼才”这样名号,也不必具有真正声望或权威。

    27330

    30岁文转码:用了三年时间从哲学家变成知名软件项目核心开发

    评估 Elisp 时,Emacs 环境可以轻松使用与之对应返回值。无需重新启动程序,这些扩展就能实时生效,帮助用户以交互方式即刻观察效果。...例如,想用自定义代码制作本次演讲演示内容。因为画面只占据文档一小部分,所以很多朋友会以为这是一张预先构建 PPT。并不是,可以直接编辑里面的普通文本。...所以我用其实是 Emacs 当中简化“专注模式”,这种模式在演示、阅读、写作和编程等场景中都有很好表现。 而且 Emacs 所有操作都只需要实现一次。...另外,也不需要单独工具进行文本编写和呈现,所有功能都是统一且互通,又好又简单! 除此之外,底层配置也全部 Elisp 完成,这又进一步简化了整体效果。...但在 Emacs 帮助下,终于自己日常计算消除了这些异构性与异质性元素。

    38030

    Storm创始人Nathan Marz:反馈即一切

    计算器上写出头一个有趣程序是款射箭游戏——玩家向移动目标发射箭头,命中目标越多,或任务完成得越快,都能得到更多分数。几年后,当我毕业时,就在TI-89上写程序了。...这一点对职业生涯帮助巨大,让有机缘广交能人,又能通过会议上演讲周游世界。 《程序员》:哪个人对你影响最大? Nathan:从哲学角度讲,对影响最大的人非Carl Sagan莫属。...几乎阅读过他所有著作,并其深深鼓舞。觉得他是有史以来最杰出传播者,而留给我印象最深是,他与读者能保持极强同理心。...最令我感到意外,是当我问起Lisp历史时他讲述。他告诉,当时他需要一门更好语言用于AI研究,为了这个目的才发明了Lisp。而他自己,看起来真的并不怎么关心语言本身——AI才是他钟情所在。...其一是确保我们数据库总是包含最新实时社交媒体分析统计状态。其二是“到达问题”——计算机如何才能快速获取发布Twitter上链接,它需要计算所有用户关注者发布全部链接。

    91340

    为什么Lisp语言如此先进?(译文)

    在读取期运行代码,使得用户可以重新调整(reprogram)Lisp语法;在编译期运行代码,则是Lisp工作基础;在运行期编译代码,使得Lisp可以Emacs这样程序,充当扩展语言(extension...Fred Brooks在他名著《人月神话》(The Mythical Man-Month),描述了这种现象,所见所闻印证了他说法。 如果使用Lisp语言,能让程序变得多短?...所以,当我说假定你与ITA竞争,你用五年时间做出东西,ITALisp语言帮助下只用三个月就完成了,五年还是一切顺利、没有犯错误、也没有遇到太大麻烦五年。...举例来说,面向对象编程世界,我们大量听到"模式"(pattern)这个词,觉得那些"模式"就是现实因素(c),也就是人肉编译器。...当我自己程序,发现用到了模式,觉得这就表明某个地方出错了。程序形式,应该仅仅反映它所要解决问题。

    1.2K60

    深入浅出 Babel 下篇:既生 Plugin 何生 Macros

    前言 想我们对宏并不陌生,因为很多程序员第一门语言就是 C/C++; 一些 Lisp 方言也支持宏(如 Clojure、Scheme), 听说它们宏写起来很优雅;一些现代编程语言对宏也有一定支持...所以大部分宏实现会参考 Lisp S-表达式,取折中方案,将传入程序转换为Tokens,再组装成类似quoted数据结构。...而模块化宏是源代码部分,而不是构建脚本部分,这使得它们可以灵活地使用、重构以及废弃。...如果自己维护构建脚本的话,升一次级你需要升级一大堆依赖,如果你要维护跨项目的构建脚本,那就更蛋疼了 《为什么要用vue-cli3?》...很显然,Macro不需要配置 .babelrc(当然babel-plugin-macros这个基座需要装好). 这个对于CRA这种不推荐配置构建脚本工具来说很有帮助 由隐式转换为了显式。

    1.5K31

    日拱一卒,伯克利CS61A大作业,scheme 解释器(四)

    但问题是,我们递归时候拿不到当前下标这个变量。所以进而可以想到,只有一个参数递归肯定是解决不了,我们至少需要两个参数。 不改动原有函数签名情况下,唯一办法就是使用高阶函数。...要实现cons-all函数,需要用到内置map过程。cons-all接收一个元素和一个list,将这个元素插入到list每个元素作为开头。...这里由于Lisp递归时候还涉及到参数计算,写在一起会显得非常非常冗长。所以这里我们使用了define语句,简化了代码书写。...每一个非原生表达式都可以写成一个Scheme list。所以我们可以实现一个过程,它可以像是生成一个scheme list一样生成另外一段程序。...这样可以简化解释器开发,不太清楚这是否是Lisp语言设计逻辑部分,但它的确惊艳到了,这样设计思路实在是太巧妙了。

    1K40

    来来来,咱们元编程入个门

    前一篇文章竟然很多人批「干货太少」 —— 一看你们就没有看过 Rich 他老人家 Hammock Driven Development(很久前推荐过滴),这世界不缺代码,缺是思想。你们要干货。...quote / quasiquote / unquote 当我们明白 AST metaprogramming 地位后,紧接着,我们需要知道两件事情: 如何获取某段程序语法树 如何改变已有的语法树...由于它不返回 AST(虽然很接近 AST),所以 lisp quote metaprogramming 并非主角,真正主角是 quasiquote (也就是我们所说 syntax quote...macro (注:由于大部分读者没有 lisp 基础,下面的例子都用 elixir 表述。...不少谈到 macro 书籍,对其都语焉不详,就连 wikipedia,啰啰嗦嗦写了一大段,都没有讲清 macro 内涵: A macro in Lisp superficially resembles

    946100

    编程语言简史《一》

    Zuse和它Z3机器 Zuse 几乎是凭借一己之力从零发明了现代计算机,设计和制造世界上Z系列计算机过程,意识到需要一种高级语言来简化程序设计,于是他提出了 Plankalkül 概念。... 20 世纪部分时间里处于打孔卡时代,程序需要手动编写或打孔来输入指令,涉及到设置开关和连接电缆来确定计算序列。...只需要一个能将汇编语言转换成机器指令工具,我们称其为编译器,将汇编语言还原成二进制,就可以 CPU 直接执行,所以它是最底层低级语言。...推荐大家购买,算是通信百科公众号带个货哈: 另外,《永恒之火》剧中插曲,认为上帝必然也是使用 Lisp 创造世界,可见Lisp语言有多么受尊敬。...歌词是这样描述: 因为上帝用祂 Lisp 代码 让树叶充满绿意。 分形花儿和递归根: 见过奇技淫巧之中没什么比这更可爱。

    16210

    每个程序员要注意 9 种反模式

    有一个健康自我批评对于专业和个人成长是很重要。对于编程而言,自我批评意义就是需要能查明设计、代码、开发中和行为无效或反效果模式。这就是为什么反面模式对任何程序员都很有用原因。...如何避免 注意,什么时候可以简化设计新增类,以及解耦代码不必要耦合部分 棘手部分 新增类不是魔法弹。通过分解大型类来简化设计需要深入考虑分析责任和需求。...—— Henry Spencer 任何 C 或 Fortran 程序复杂到一定程度之后,都会包含一个临时开发、只有一半功能、不完全符合规格、到处都是 bug 、运行速度很慢 Common Lisp...使用未命名数字或字符串字面量,而不是代码里命名为常量。 糟糕原因 主要问题是由于没给数字或字符串字面量一个描述命名或其他形式注解,而导致它们语义部分或完全隐藏了。...如果你喜欢图表,下面的图表展示了 30% 通过率一场考试分数分布,极好地说明了这个观点。 ? 波兰高中毕业考试通过率30%分数分布。 如何避免 要理智地使用测量和数字,而非盲目。

    1.9K20

    几种编程语言优缺点

    其次,这是一项进行工程,现在只是东打一耙西搞一下,还没有精加工过。又一个把它写到博客里很大理由。不需要很好,或很完整。就是今天想说一些话。请随便!...这是很难哦。这是很大一步。学会怎么用 Lisp 写出像C语言程序是不够,那没有意义。C 和 Lisp 一个就像红外线,一个就像紫外线,它们分布光谱最两端。...有一个执行助理把你从琐事解救出来让你有时间去思考那些真的需要你去解决问题; 没有的话你将不得不花一半时间在那些无聊世俗事情上。...切换到 Java 编程语言就把你变成了两个程序员 —— 一个处理那些你不需要关心东西,另一个可以集中精力问题本身上。这是一个很震人改变,一个你应该很快就能习惯能喜欢上改变。...这儿有一个:一个值量(scalar,对应于 vector,向量)上下文里对一个哈希取值你得到一个字符串,里面是个分数,分子是目前已分配键,分母是总共有多少个桶。鲸鱼肠子,告诉你。

    3.4K110

    如何提高你能力,给年轻程序几条建议【大牛经验】

    这里可以给出几条建议 打造你工具箱 工欲善其事,必先利其器。每个开发者都应该有一把自己瑞士军刀,将来漫长职业生涯,这些工具可以为你省下宝贵时间,并帮助你更好组织个人知识库。...Emacs脚本语言elisp又是lisp一种dialect,觉得对lisp学习可以提升程序员对编程核心思想理解。...而在我看来,这明显是一笔很划得来投资,程序工作部分时间里都需要和键盘打交道,一个舒适打字体验是非常有收益,更何况这类高品质键盘都非常耐用。...许多公司都会设置Manager与组员1:1,一个有效率1:1应该大部分时间有组员来主导。这需要1:1之前花足够多时间来考虑要问问题,并且最好提前1天发给Manager,让他有机会思考答案。...小结 觉得步入职场前3年对今后发展尤其重要,希望此文能对年轻程序员们有所帮助。欢迎评论!

    35620

    为什么Python如此适合AI和机器学习?5位Python专家告诉你

    认为目前Python已经一定程度上快要取代Lisp,除了Python也是高级语言以外,它还拥有出色第三方库生态系统,以及对底层操作系统良好兼容性。 如果你不这么认为,那么允许再描述清楚一些。...不打算精确描述Python程序设计架构位置,只是说Python和Lisp都处于相同语言类别,它们资源回收、内存安全、模块、名称空间和高级数据结构上有很多相似之处。...Python社区致力于为非程序员提供指南和生态系统支持,这无疑增加了其在数据科学和计算科学这两个姐妹学科使用。...机器学习是一个集成度很高学科,因为任何AI /机器学习系统都需要从现实世界中提取大量数据并作为训练数据输入到系统,Python大量库函数构建生态系统让它能更好访问和转换数据。...IPython编辑器等工具可用性很好,使得我们可以全新领域迭代和分享我们算法。 Python强调了工作核心,简化了我们如何给计算机指令,自动完成任何你不需要考虑事情,这显然是极好

    1.2K60
    领券