- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我最近从 F# 中绕过 clojure,遇到了一个名为 cond 的宏。
以下是用法示例:
(cond
(= target (nth arr mid)) mid
(< target (nth arr mid)) (search left (- mid 1))
(> target (nth arr mid)) (search (+ mid 1) right)
(= left right) -1)
if target == arr.[mid] then return mid
if target < arr.[mid] then return (call search(left, mid-1))
if target > arr.[mid] then return (call search(mid+1, right))
if left == right then return -1
type condition = bool * int
let cond (conds: condition seq) =
conds |> Seq.pick(fun c -> if fst c then Some (snd c) else None)
cond [| ( (=) target arr.[mid], mid )
( (=) left right, -1 )
( (<) target arr.[mid], recSrch left (mid-1) )
( (>) target arr.[mid], recSrch (mid+1) right )
|]
最佳答案
这是使用 match
的草图我认为这与 clojure 非常接近。
它定义了 Cond
作为将测试函数作为参数的部分事件模式
let (|Cond|_|) f arg =
if f arg then Some () else None;;
match 1 with
|Cond ( (=) 5) _ -> printfn "unlikely"
| _ -> printfn "likely";;
关于clojure 就像 F# 中的 cond,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37508285/
我曾尝试在 clojure 中使用 mini-kanren 的实现。但是一直在努力理解 cond-a cond-u 和 cond-e 之间的区别。我似乎很清楚 cond-e 但对 cond-a 和 c
我有一个基本上可以实现的功能 (cond ( (cond) (cond) ) ) 目前计划对我来说似乎是一门外语。我的问题很简单。仅当嵌套条件也返回 true 时,如何
我是 Java 的新手,正在尝试学习迭代器的概念。我在 Java 教程 Oracle 中遇到过这段代码。我的问题是,if (!cond(it.next())) 中的 cond 代表什么。文档没有指定
我正在阅读一个名为 Panda.js 的游戏引擎。核心中有一个方法检查浏览器是否支持全屏,但我不明白这段代码: if (this.system.canvas.requestFullscreen)
我试图了解这两个可观察量之间的区别。代码中唯一的区别是: /** * Inside rxjs pipe */ if(typeof x === 'number' && x > 3) { retu
这两个表达式生成的结果似乎相同。它们之间有什么区别吗? 最佳答案 如果您的 cond 条件为真,但您的 value 不是,则第一个表达式将转到 default_value,而您的第二个表达式只要 co
我正在通过解析类似 Excel 的公式来生成 sql 请求。 因此,对于给定的公式,我收到以下请求: SELECT IF(COL1='Y', SUM(EXPR),NULL) FROM Table 我没
当我执行 np.where(temp == True) 时,PyCharm 会发出警告 我的完整代码: from numpy import where, array a = array([[0.468
是否有任何隐藏的微妙之处,一个是首选,还是一个只是编写另一个的更短方式? Client = db.Clients.First(c=>c.Name == "Client 1") 和 Client = d
if user.item.purchase.status == True: ...使用 flake8 检查时产生错误: E712 comparison to True should be 'if co
我在行“added_parts = new_part_set[(new_part_set["duplicate"] == False) & (new_part_set["version"] ==
1. 简介 本文将介绍 Go 语言中的 sync.Cond 并发原语,包括 sync.Cond 的基本使用方法、实现原理、使用注意事项以及常见的使用使用场景。能够更好地理解和应用 Co
为了在 MongoDB 中对元素进行分组和计数,我已经筋疲力尽了。有很多帖子,但没有一个是我需要的。 这是一个基于以下内容的示例: styvane answer db.VIEW_HISTORICO.a
我正在尝试创建一个计算 状态 我的 Mongo 查询中的字段(状态:已创建、已收到付款、已发货、已收到、已完成)。 db.orders.aggregate( [ { $project: { st
在 Clojure 中的 cond 语句内格式化大型子句的推荐方法是什么? 例如: (cond (> (large-function large-arg1 l
我遇到过很多情况,如果满足特定条件,则需要“更新”两个(甚至三个)值的向量,否则就不用管。示例: (let [val1 some-value val2 some-other-value
scala 有与scheme 的 cond 等价的东西吗? 最佳答案 我猜您正在寻找match(或者只是if/else if/else)。 关于scala - Scala语言中的scheme cond
我正在构建一个 RNN 模型,其中 init_state 可能来自两种情况之一。 1) 通过 feed_dict 从之前的时间步长输出状态输入的静态 init_state。 2) 变量的一些函数,我称
根据https://golang.org/pkg/sync/#Cond.Wait ,必须将 Wait() 调用包装在 for 循环中,因为在第一次恢复时,据称 c.L 没有被锁定。这与上面的句子“..
我正在尝试通过 rmongodb 中的操作在组中执行求和。我求和的“列”包含 NaN 值,导致我的总和返回 NaN。在通过命令运行组之前,我想使用 $project 用零替换 NaN,但我被卡住了。
我是一名优秀的程序员,十分优秀!