ocaml 相关问题

OCaml是一种严格的静态类型函数式编程语言,专注于表达性,正确性和效率。

是否可以知道文本输入是否仅来自管道

我想制作一个程序,提示用户输入带有介绍文本的内容。比如“请写一些东西”之类的。但如果有来自管道的文本,结果是 dis...

回答 1 投票 0

在 VSCode 中禁用 OCaml 的 `in` 关键字自动取消缩进

我使用 VSCode 在 OCaml 中进行编程,但每次我以 in 关键字开始一行时,编辑器都会自动取消该行的缩进。这真的很烦人,我想禁用这个部分......

回答 1 投票 0

功能广度优先搜索

函数深度优先搜索在有向无环图中很可爱。 然而,在有循环的图中,我们如何避免无限递归?在程序语言中,我会在点击节点时对其进行标记,但是...

回答 4 投票 0

OCaml 中 Python 枚举函数最简单的模拟是什么?

在Python中枚举的工作原理如下: a_list = ['a', 'b', 'c'] 对于 enumerate(a_list) 中的 i、x: 打印(i,x) 输出将是: 0个 1b 2c 因此, enumerate 实际上返回一个生成器 (p...

回答 3 投票 0

OCaml 中的类型信息显示与 zaith 库不匹配

为什么红框中的类型信息不是:'a -> 'a -> 'a -> 'a -> 'a? 我认为所有参数和返回值应该是相同的类型。 并且 utop 确实确认它们都是...

回答 1 投票 0

为什么两个let表达式会导致编译错误?

我有一个包含以下两行的let.ml: 让 x = 1 在 x + 1 中 设 y + 1 中 y = 1 当用 ocamlc 编译它们时,出现以下错误: 文件“let.ml”,第 2 行,字符 10-12: 2 |让 y = 1...

回答 1 投票 0

如何统计 OCaml 中任意元素类型的列表中连续出现的次数?

在 OCaml 中,假设我有一个字符串列表,如下所示: 让 ls : 字符串列表 = ["A"; “一个”; “乙”; “乙”; “一个”; “是”; “是”; “是”];;...

回答 2 投票 0

为什么函数参数个数与函数定义不符?

在下面的代码片段中,递归函数查找只有一个参数。 以后如何应用两个参数 k 和 t 呢? let rec Lookup k = function (* 只有 1 个参数 k *) | [] -> N...

回答 1 投票 0

在 OCaml 中分隔列表

所以我有一个列表,我试图将其分成两个列表,以便原始列表中的所有偶数索引构成第一个列表,奇数索引构成第二个列表。 这是我的...

回答 2 投票 0

列表中元素的位置

在 OCaml 中获取元素列表中元素的位置的最快方法是什么? 我知道如何获取列表中元素的“第 n”位置,但我想知道如何获取位置...

回答 3 投票 0

此表达式具有单位类型,但表达式应为“a Client.io”类型

我正在尝试在下面的 OCaml 中编写一个简单的可执行代码。 打开Printf 打开轻重量 打开Cohttp 打开Cohttp_lwt_unix 打开Yojson 让() = 让 ip = "8.8.8.8" 在 让键=“”...

回答 1 投票 0

如何理解“let () ="

在 OCaml 中,如何理解以下定义: let () = print_endline "你好世界" ocaml 中的 let 定义应该类似于 let x = e 但上面的 () 不是变量。那么会发生什么...

回答 4 投票 0

我们如何在let表达式中使用值而不是名称/标识符?

我看到下面的代码: let () = 断言 (f 输入 1 = 输出 1) 断言表达式返回一个unit类型的值,该值只有一个可能的值,显示为()。 我的理解是,let 定义

回答 1 投票 0

为什么变量“hd”在这里没有绑定?

令 f x = 将 x 与 ((2, 4)::xr) -> 42 | [(1,y); (_, 3); (_, 4)] -> 5 | [(x,_); (u, w)] -> u + x | [(44, 11); (12, 3)] -> 42 | (x::xr) ...

回答 2 投票 0

在 OCaml 顶层使用 Str 模块?

我尝试了两个命令来在 OCaml 顶层加载 Str 模块。 第一个命令给我错误“找不到文件 Str.cmo”。 然后我尝试将我在顶层使用的文件与第二个co一起使用...

回答 3 投票 0

为什么命名函数在utop中仍然显示为匿名?

(我正在学习 OCaml,这可能是一个天真的问题。) 我使用下面的代码来定义一个命名函数 a: utop # 让 a = fun x -> x+1;; val a : int -> int = 请注意,领先...

回答 1 投票 0

Ocaml 高效快速排序

我想知道如何编写一个高效版本的快速排序,其中列表一次性分区。 我有这段代码, 让rec快速排序'=函数 [] -> [] | x::xs -> ...

回答 2 投票 0

Haskell 中的或模式

在 OCaml 中,我习惯于编写如下代码: 让结合 o1 o2 = 匹配 o1, o2 与 |有效、无效|无效、有效 -> 无效 | _ -> ... 我找不到写或的方法-

回答 3 投票 0

为什么我的 OCaml babbage 程序不工作?

代码: 让巴贝奇= 让 n = read_int 输入 令当前 = 参考 n 输入 让 square = ref !当前在 让 mul = !current * !current in while ((square := mul) mod 1000000 != 269696) && (!sq...

回答 2 投票 0

列表 ocaml 中的最大 int

我想找到 int 列表中的最大元素。 这个想法是只调用一次 find_max 并让支持人员完成肮脏的工作。 函数支持返回一个 int,第一个值为 0,然后当新的最大值为

回答 2 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.