- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在学习 clojure,并实现我的标准测试项目,Tic Tac Toe 10 .我以前用多种语言编写过相同的 AI,但在使用其他语言将其扩展超过 6 步时也遇到了问题。
我的 AI 算法基本上可以正常工作,但我正在尝试使用 pmap 提高速度。因为一切都是不可变的,所以我应该可以只用 pmap 代替 map 并得到相同的结果,但我没有看到。
(defn get-spot
[board player win-cond levels]
(def avail (get-available board))
(def final
(apply merge
(map #(array-map % (calc-score board player win-cond levels %)) avail)))
final)
但是那个地方的 pmap 返回不一致的结果。不确定从哪里开始寻找。如果需要,我可以发布更多代码。
最佳答案
到处用 let 替换 def 解决了这个问题。如果我不使用 let,我的函数会有很多不一致的副作用。
(defn get-spot
[board player win-cond levels]
(let [avail (get-available board)
final (apply merge
(pmap #(array-map % (calc-score board player win-cond levels %)) avail))]
final))
我编写了一堆 clojure 代码,并通读了许多教程。我不知道我是怎么错过这个非常重要的细节的。
关于Clojure pmap 返回与 map 不同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29738620/
user=> (.. Runtime getRuntime availableProcessors) 2 并评估此示例:http://clojuredocs.org/clojure_core/cloj
我正在尝试确定如何使用应用于不同长度列表的 dplyr pmap 函数。 下面是我想做的一个非常简单的例子 list_1 <- list(1, 2, 3) list_2 <- list(1, 2) l
我正在尝试使用 clojure pantomime 库从大量 tif 文档(以及其他文档)中提取/ocr 文本。 我的计划是使用 pmap 将映射应用于一系列输入数据(来自 postgres 数据库)
我正在尝试将一个函数映射到包含在使用 purrr::pmap 的数据框行。我有一个 reprex下面: library(tidyverse) # Create dummy data e [[1]]
我正在尝试确定如何使用应用于不同长度列表的 dplyr pmap 函数。 下面是我想做的一个非常简单的例子 list_1 <- list(1, 2, 3) list_2 <- list(1, 2) l
我为线程编写了一个简单的 C 程序,其进程图如下所示: anirudh@anirudh-Aspire-5920:~/Documents/DUMP$ pmap 3232 3232: ./a.out
我们正在发生某种巨大的内存泄漏,我们进程的驻留内存呈指数级增长。 pmap -x 显示如下内容: ... 00007f4ad85cd000 10530276 9129608 9129608 rw---
我只是使用 pmap 对 clojure 进行一些性能测试,我希望能够控制与 pmap 一起使用的线程数。我知道在使用 OpenMP 之类的东西时,可以使用 omp_set_num_threads()
我需要在 pmap 变体的帮助下执行一些按行的操作,但是在将参数列表(即“.l”参数)传递给嵌套在另一个函数中的函数。 我尝试了各种方法,包括传递参数名称和点语法,但都无济于事。我需要知道是否有办法做
当我有一个包含两个输入列(a 和 b)的列表列数据框 (df1) 时,我可以使用 map2 获取一个新列 d1 % slice(1:10) %>% group_by(cyl) %>% nest(.ke
使用 *apply 进行函数式编程或 purrr是我的面包和黄油但我不明白如何pmap处理函数参数。 我可以用他们对应的变量名 (给定一个数据框作为输入)并且不必担心顺序。 我可以更具体地使用它们作为
我需要发出200个左右的HTTP请求。我希望它们并行运行或成批运行,而且我不确定在Clojure中从何处开始执行此操作。 pmap似乎具有我想要的效果,例如,使用http.async.client:
我试图理解为什么这段代码有效: tmp % pmap(function(this, that, other) paste(this, that, other)) ...但以下代码会产生“未使用的参数”
我想知道如何使用 pmap()函数,如果我有超过 3 个输入作为参数映射到具有其他默认输入的函数。 这是一个可重现的示例: a=c(5, 100, 900) b=c(1, 2, 3) ablist=l
我有这个数据框,我想单独使用 pmap函数仅过滤所有值为负或正的行。我正在寻找一种简洁的方法来做到这一点,因为我想到了 c(...)但我们只能在函数内部使用它。 可以通过以下代码实现: df %
我正在使用 R purrr:::pmap带三个输入。不清楚如何在公式调用中明确引用这些输入?使用 map2 时,公式调用为 ~ .x + .y .但是使用pmap的时候怎么办? 从 http://r4
我正在尝试计算一个函数,其参数是数据框中列的名称。我需要循环每一行并计算函数。看起来 pmap 是执行此操作的一种巧妙方法,但我被迫指定“..1, ..2,”符号来指示数据框中的列位置。我认为这不是一
我想在传感器中使用 pmap,如果我使用常规 map 编写代码,它工作得很好。但是,如果我使用 pmap 我会得到一个 arity 异常。是否可以在 clojure 中实现此目的,或者我做错了什么?如
我正在尝试设置一个具有多个输入和多个返回值的自定义函数,并在数据框上将此函数与 purrr::map 一起使用。 我的示例数据是: test_data 1 1 2 3
我是 Erlang 新手,因此为了训练,我尝试从头开始实现标准功能。我尝试从 lists 模块创建 map/2 函数的并行实现。但我的实现速度非常慢。如果我在实现中犯了任何主要错误,您能指出我吗:
我是一名优秀的程序员,十分优秀!