当前位置:   AI > 正文

Lisp风格:setq与setf

lisp,common-lisp,人工智能,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具,json解析,二维码生成,unix时间戳,在线开发工具,前端开发工具,开发人员工具,站长工具

Peter Norvig 在第50页的"人工智能编程范式"中提到了特异性和一致性之间的权衡以及选择使用setq或setf将变量更新为值时的权衡.您有什么推荐的吗?您是否遇到过重要性超出可读性的情况?



1> Harold L..:

使用setq更低级别,但setf的性能不是问题.并且setf允许您(或库编写者)提供自定义setf行为,例如设置自定义数据结构的部分.我说:除非你有理由不去,否则到处都去.

另见Practical Common Lisp,第3章:"SETF宏是Common Lisp的主要赋值运算符." PCL可在线免费获取:http://gigamonkeys.com/book/



2> jrockway..:

FWIW,我总是使用setf.如果我稍微更改了代码的结构,我只需要更改"地点"而不是地点和运算符(setq - > setf).

另外,不要担心性能,setf与符号的setq完全相同:

CL-USER> (macroexpand '(setf foo 42))
(SETQ FOO 42)



3> Ville Laurik..:

您可以setf在任何可以使用的地方使用setq.实际上, setf实际上是一个建立在其上的宏setq.所以,这应该纯粹是一个可读性和风格问题.

我见过的几乎所有代码都避免使用setq和使用setf.

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/blog/AI/detail/12020
推荐阅读
  • 最近开发了繁体版本的网站,在网上找了一段比较流行的繁简切换的JS实现了,不过后来却发现,有些页面会卡死,针对这个问题,下面有个不错的解决方法网站,繁简切换,html,人工智能,服务器,分布式,机器人,算法,javascript,DevBox... [详细]

  • 如何解决《当今最重要的人工智能开发?》经验,为你挑选了0个好方法。artificial-intelligence,人工智能,机器学习,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具,json解析,二维码生成,unix... [详细]

  • 如何解决《更聪明的编译器,语言和框架是否使数字程序员成为可能?》经验,为你挑选了6个好方法。language-design,程序员,人工智能,vb,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具,json解析,二维码... [详细]

  • 这篇文章主要为大家详细介绍了AI人工智能应用,本文拟使用Python开发语言实现类似于WIndows平台的“小娜”,,具有一定的参考价值,感兴趣的小伙伴们可以参考一下AI,人工智能,Python,人机对话,python,windows,io... [详细]

  • 如何解决《什么是SML用于?》经验,为你挑选了2个好方法。prolog,sml,dcg,windows,linux,人工智能,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具,json解析,二维码生成,unix时间戳,... [详细]

  • C++程序设计从零开始之语句--Linux通用技术-Linux编程与内核信息,下面是详情阅读。C++程序设计从零开始之语句,c语言,go,安全,人工智能,算法,程序员,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具,... [详细]

  • 这篇文章主要介绍了如何不用安装python就能在.NET里调用Python库,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下python,.net,调用,python库,c#,windows... [详细]

  • Pytorch是torch的python版本,是由Facebook开源的神经网络框架,专门针对GPU加速的深度神经网络(DNN)编程。这篇文章给大家介绍pytorch的相关知识,感兴趣的朋友一起看看吧pytorch简介,pytorch,py... [详细]

  • SEO,搜索引擎优化。概括来说就是针对分析搜索引擎的网站收录以及评价规律,来对网站的结构,内容以及其他因素作出一些合理调整,使得网站更容易被搜索引擎收录,并且能够尽量排在搜索引擎自然排名的前列。在上段中提到了自然排名这个概念,是因为在搜索引... [详细]

  • Express网站开发Express网站开发,bootstrap,mongodb,npm,go,javascript,html,css,jquery,json,https,人工智能,机器人,DevBox,在线流程图,编程,编程问答,程序员,... [详细]

  • python用途有:Web开发、网络爬虫、人工智能、数据分析、自动化运维、系统编程、图形处理、数学处理、文本处理、数据库编程、网络编程、多媒体应用(例游戏开发)等。python,用途,爬虫,人工智能,android,django,go,fa... [详细]

  • 如何解决《将.csproj中的内容文件包含在项目锥体之外》经验,为你挑选了4个好方法。msbuild,csproj,c#,人工智能,xml,hive,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具,json解析,二维... [详细]

  • 这篇文章主要介绍了基于Python检测动态物体颜色过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下Python,检测,动态物体,颜色,人工智能,python,go,神经网络,DevB... [详细]

  • 如何解决《面向对象编程背后的理论》经验,为你挑选了2个好方法。oop,人工智能,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具,json解析,二维码生成,unix时间戳,在线开发工具,前端开发工具,开发人员工具,站长... [详细]

  • 这篇文章主要介绍了SpringBoot从0到1整合银联无跳转功能支付附源码,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下SpringBoot银联无跳转支付,SpringBoot银联支付,人工智能,... [详细]

  • 这篇文章主要介绍了利用JavaScript在网页实现八数码启发式A*算法动画效果,需要的朋友可以参考下php,javascript,算法,人工智能,html,css,lua,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发... [详细]

  • 这几天在写一个程序的时候需要识别验证码,因为程序是Python写的自然打算用Python进行验证码的识别。下面把实现思路分享在脚本之家平台,感兴趣的朋友可以参考下python验证码识别,python,人工智能,DevBox,在线流程图,编程... [详细]

  • 这篇文章主要介绍了详解c#与python的交互方式,帮助大家更好的理解和学习使用c#,感兴趣的朋友可以了解下c#和python,c#,交互,python,人工智能,json,windows,linux,django,DevBox,在线流程图... [详细]

  • 如何解决《我应该使用哪种语言?》经验,为你挑选了5个好方法。prototyping,artificial-intelligence,mysql,ruby,php,python,perl,神经网络,数据挖掘,人工智能,django,DevBo... [详细]

  • 如何解决《遗传算法资源》经验,为你挑选了3个好方法。algorithm,resources,genetic-algorithm,算法,人工智能,机器学习,go,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具,json... [详细]

相关标签
  

闽ICP备14008679号