imperative-programming相关内容

更新Haskell中的外部变量

从某种意义上说,Haskell是一种纯粹的函数式语言,当然,习惯用法代码试图尽可能地具有函数性。同时,Haskell确实支持对其他语言中熟悉的一些命令式模式进行相当直接的翻译,例如http://learnyouahaskell.com/a-fistful-of-monads#do-notation (我知道在某种意义上,do-notation仍然“真正”起作用;这里的要点是,它允许相当直接地 ..
发布时间:2022-08-14 21:50:15 其他开发

用于进度报告的惯用 clojure?

我应该如何监控 clojure 中映射函数的进度? 在使用命令式语言处理记录时,我经常每隔一段时间打印一条消息来表明事情已经走了多远,例如每 1000 条记录报告一次.本质上,这是计算循环重复次数. 我想知道在 clojure 中我可以采取哪些方法来将函数映射到我的记录序列上.在这种情况下,打印消息(甚至记录进度)似乎本质上是副作用. 到目前为止我想出的东西是这样的: (定义报 ..

检查值在 While 循环 Python 中是否仍然保持不变

我想知道是否有一种优雅的方法可以检查是否可以检查在 while 循环中不断变化的值,如果值停止变化并保持不变,则停止 while 循环. 例如: 值 = 0而真:值每次都在变化(如果值仍然相同中断) 解决方案 这种方式怎么样?顺便说一句:修复你的拼写错误 while 在 python 中不是 While. 值 = 0而真:old_value, value = value, way_t ..
发布时间:2021-12-26 18:31:25 Python

为什么 Haskell(有时)被称为“最佳命令式语言"?

(我希望这个问题是切中要害的——我试图寻找答案,但没有找到明确的答案.如果这恰好是题外话或已经回答,请适度/删除它.) 我记得曾听/读过几次关于 Haskell 是最好的命令式语言的半开玩笑的评论,这当然听起来很奇怪,因为 Haskell 通常以其功能性而闻名/em> 功能. 所以我的问题是,Haskell 的哪些品质/特性(如果有的话)有理由证明 Haskell 被认为是最好的命令式 ..
发布时间:2021-12-14 11:50:15 其他开发

检查While循环Python中的值是否仍然保持不变

我想知道是否有一种优雅的方法来检查是否可以检查while循环中不断变化的值,如果该值停止更改并保持不变,则停止while循环. 例如: 值= 0而True:每次都在改变价值(如果值仍然相同,则中断) 解决方案 这种方式怎么样?顺便说一句:修正您的错字错误而不是python中的 While . value = 0而True:old_value,值=值,way_to_new_valu ..
发布时间:2021-05-30 21:07:55 Python

编程中的声明式和命令式范式有什么区别?

我一直在网上寻找声明式和命令式编程的定义,这将为我提供一些启发.但是,在我发现的某些资源中使用的语言令人生畏-例如在 Wikipedia .有没有人有一个真实的例子可以向我展示这个主题,也许可以带给我一些观点(也许在C#中)? 解决方案 LINQ是一个很好的C#声明式与命令式编程示例. 通过命令式编程,您可以逐步告诉编译器您要发生的事情. 例如,让我们从这个集合开始,然后选择奇 ..

声明式和命令式编程之间有什么区别?

我一直在网上寻找声明式和命令式编程的定义,这将为我提供一些启发.但是,在我发现的某些资源中使用的语言令人生畏-例如在 Wikipedia . 有没有人有一个真实的例子可以向我展示这个主题,也许可以带给我一些观点(也许在C#中)? 解决方案 LINQ是一个很好的C#声明式与命令式编程示例. 通过命令式编程,您可以逐步告诉编译器您要发生的事情. 例如,让我们从这个集合开始,然后选择 ..

可能的OCaml代码生成错误

下面的自包含代码突出了OCaml中的一个问题,可能与代码生成有关. 数组x在[0..9]中具有节点的连接信息.函数init_graph最初为每个节点构造了传入节点的显式数组.下面显示的简化版本仅打印两个连接的节点. 函数init_graph2与init_graph相同,除了“无用"的else分支.但是,这两个函数所产生的输出是完全不同的.您可以运行它,并看到init_graph在某些情况下会 ..

声明性语言

我正在阅读关于声明性编程语言的文章。 如果我不明白这种类型/范式的编程语言的特性,并且它与命令式语言形成对比,那么我是否应该阅读这类编程语言的编程,比如Haskell,然后阅读那么这篇文章后面呢? 解决方案 声明式范例的要点是懒惰。我们这些声明式程序员喜欢让编译器完成所有的工作。尽可能多的,我们没有指定我们想要使用的算法,而只是定义了我们想要的结果。例如,如果在一个命令式的设置中你想 ..

为什么Haskell(有时)被称为“最佳命令式语言”?

(我希望这个问题是关于主题的 - 我试着寻找答案,但没有找到明确的答案。如果这是恰当的话题或已经回答,请温和/删除它。 ) 我记得几次听过/读过关于Haskell是最好的命令式语言的半开玩笑的评论,当然听起来很怪,因为Haskell通常以其功能功能而闻名。所以我的问题是,什么质量/功能(如果有的话) Haskell有理由证明Haskell被认为是最好的命令式语言 - 或者它实际上更像是一个笑 ..
发布时间:2018-06-04 14:32:49 其他开发

使用不同类型的短路进行状态计算(可能,或者)

我试图找到将以下有状态命令式代码片段转换为纯函数式表示的最优雅方式(最好在Haskell中使用其Monad实现提供的抽象方式)。不过,我还不擅长使用变形金刚等组合不同的monads。在我看来,分析其他人承担这样的任务有助于在学习如何自己做到最好的时候。命令式代码: while(true){ while(x = get()){//想想作为返回也许某事 put1(x)//可以退出并呈现一些 ..

函数式语言中的程序更容易发生堆栈溢出?

我开始学习ocaml,并且非常欣赏语言中递归的力量。但是,我担心的一件事是堆栈溢出。 如果ocaml使用堆栈进行函数调用,它不会最终溢出堆栈吗?例如,如果我有以下功能: let rec sum x = if x> 1然后f(x - 1)+ x else x ;; 它最终会导致堆栈溢出。如果我想在c ++中做同样的事情(使用递归),我知道它会溢出。 ..

哪些GUI库不是面向对象的?

最近我一直在使用C,并且想要探索编程,而不仅仅是控制台应用程序。然而,大多数GUI库都是面向对象的,并且使用非面向对象编程语言(如C语言)编程它们非常困难。即使面向面向对象的GUI库(例如为C设计的GTK +)也需要很多样板。因为我对这些面向对象的库有困难,所以我想知道哪些GUI库不是面向对象的?不知道任何不是面向对象的现代GUI工具包。 OO只是一种非常有用的编程技术,即使在C语言中也是如此。 ..

用表格查找代替功能

我一直在观看此MSDN视频与Brian Beckman合作,我想更好地理解他所说的一些话: b $ b 每个不具有挑战性的程序员都要经历这个阶段的学习 函数可以被表查找替换 $ / $ b现在,我是一个从未上过大学的C#程序员,所以或许我错过了其他人学会了解的东西。 Brian是什么意思: 函数可以替换为表查找 是否有这样做的实际例子,适用于所有功能?他给出了sin ..

Haskell与现实世界中的程序编程

这些天,我正在认真研究函数式编程。 虽然我对Haskell及其似乎提供的可能性感到非常兴奋,但现在我也可以看到,它需要我花一些时间来学习。在关于如何学习Haskell 的SO问题中,一个答案指出,如果不是,则需要几个月的时间“b $ b现在,我知道C,PHP,一些面向对象的东西等等。有人告诉我,Haskell没有太多用处那么在“现实世界”中,我会更好地提高我所熟悉的常规语言的技能吗?哈斯克 ..

混合面向对象和函数式编程

可以使用哪些语言来促进面向对象和函数式编程?我知道任何支持第一类函数的语言都可以被认为是功能性的,但是我正在寻找一种针对这两种编码风格的语法。 使用这样的语言,我想象的是将所有状态变化隔离为一部分代码,并让程序的其余部分完全实用。只是想到这让我流口水(调试天堂!)。 到目前为止,我已经发现 Scala 虽然我只听说过它(而且看起来很神奇)。在这种“混合风格”模式中,有没有什么大的竞争者 ..

进度报告的惯用clojure?

如何监控clojure中映射函数的进度? 在命令式语言中处理记录时,我经常每隔一段时间打印一条消息,事情已经走了,例如报告每1000个记录。基本上这是计数循环重复。 我想知道在clojure中我可以采取什么方法,我在我的记录的序列映射一个函数。在这种情况下,打印信息(甚至保持进度)似乎是基本副作用。 我到目前为止看到的样子: / p> (defn report [rep ..