问题标签 [imperative-programming]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - 将递归二叉树遍历转换为迭代
我被要求写迭代版本,但我写的是递归版本,即
我不是在寻找代码,我想了解如何做到这一点。如果这只是最后一次递归调用,我会这样做
但是当有两个递归调用时,如何转换为迭代程序呢?
以下是类型定义。
这就是我的想法,我在正确的轨道上吗?
multithreading - 停留在并发编程示例中,使用伪代码(原子操作/细粒度原子性)
我的书提供了一个简单的例子,我对此有点困惑:
它说,“考虑以下程序,并假设细粒度的原子操作正在读取和写入变量:”
“如果x = y + z
是通过加载一个带有y的寄存器然后添加z来实现的,x的最终值可以是0、1、2或3。”
2?2如何工作?
注意:co 启动一个并发进程和 // 表示并行运行的语句
programming-languages - 有没有标准化的方法将功能代码转换为命令代码?
我正在编写一个用于从 javascript 代码生成 php 检查的小工具,我想知道是否有人知道将功能代码转换为命令式代码的标准方法?
我发现这篇论文:工作中的去功能化它很好地解释了去功能化。
Lambdalifting 和去功能化在一定程度上回答了这个问题,但是数据结构呢,我们仍然在解析列表,就好像它们都是链表一样。是否有办法将函数式语言的链表转换为其他高级数据结构,如 c++ 向量或 java 数组列表?
functional-programming - 如何使鼠标事件处理更容易?
有时我必须实现自定义拖放等功能。代码可能是这样的:
我知道这很好用,但我根本不喜欢这样的冗余变量和分离程序。在 IP(命令式编程)中可能是不可避免的;我的问题是,有没有更好的方法来处理 FP(函数式编程)中的这种事情?无论是哪种编程语言、Lisp、Scheme、F#、Ruby 等,还是在 IP 中执行此操作的更好方法,任何想法和建议都会受到赞赏?
scala - 什么时候命令式风格更合适?
来自Programming in Scala (second edition),第 98 页的底部:
Scala 程序员的平衡态度
更喜欢 val、不可变对象和没有副作用的方法。首先到达他们。当您有特定的需求和理由时,请使用具有副作用的变量、可变对象和方法。
前几页解释了为什么更喜欢 val、不可变对象和没有副作用的方法,所以这句话很有意义。
但是第二句话:“当你有特定的需要和理由时,使用 vars、可变对象和具有副作用的方法。” 解释得不是很好。
所以我的问题是:
使用具有副作用的变量、可变对象和方法的理由或具体需要是什么?
Ps:如果有人可以为每个例子提供一些例子(除了解释),那就太好了。
functional-programming - 方案 - 函数式编程的必要条件
我刚刚开始学习函数式编程(方案)。但我仍然在“功能上”思考问题。
就像是:
那里有一个状态变化,所以这是命令式编程。
如果我将“if”部分放入另一个函数中,这是否使它具有功能?
这就是一切吗?
谢谢!
oop - 命令式编程中对对象的约束的技术术语
我知道这有一个技术术语,对于我的生活,我不记得了:
在设计一个类(或某种具有函数和数据的东西)时,对对象方法的每次调用都应该使对象的数据保持一致的状态。“一致”是指符合一系列(希望有文档记录,通常未编程)称为 [X]s 的约束。
scheme - 在 Scheme 中命名一个列表
我试图在 Scheme 中创建一个类似数组的数据结构,因为我需要经常引用它(并改变它!),所以我想给它一个名字。但从我在各种教程网站上阅读的内容来看,似乎唯一命名列表以供以后参考的方法是使用define
. 这很好,除了它看起来像一旦我用 初始化一个列表define
,改变或添加到所述列表变得更加复杂。例如,我似乎无法做到(append wordlist (element))
,我需要某种方式!砰。
基本上我的问题归结为:define
我唯一的希望是命名一个列表吗?如果是这样,我是否被困在改变其元素的圈套中?谢谢。
scala - 命令式与功能式示例
我有一个以命令式和功能性(我在这里尽了最大努力)方式实现的方法。该方法遍历 ArrayBuffer[Creature],计算到每个生物的距离并返回最近的或无(如果世界上没有生物,除了“this”)。
至关重要的:
功能:
功能代码看起来不那么明显(可能可以简化,但我不知道如何简化)而且我不确定我是否能够在一个月内快速阅读它。我的问题是习惯或功能问题不适合这种特殊情况吗?刚开始使用 Scala 的时候,你有没有这样的疑惑?一段时间后,您的功能技能是否有很大提高并完全击败了命令式方法?请发表您的经验。
谢谢!
functional-programming - 函数式编程与声明式编程与命令式编程
我已经习惯了命令式编程,这是告诉计算机逐步执行程序以获得最终结果的常用方法。另一方面,声明式编程只是传递输入并期望输出,而不说明它是如何完成的过程。我感到困惑的是函数式编程。我知道函数式编程是一种编程范式,它将计算视为对数学函数的评估,并避免状态和可变数据,并且不是一种声明性语言。但是,我仍然无法理解它是如何工作的。
让我们举一个执行斐波那契数列的例子。
命令式编程:
声明式编程:
功能程序如何工作?
另外,如果我的定义错误,请纠正我。请随意发表评论..