ocaml 相关问题

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

无法理解ocaml代码中的语法

我有以下代码: 模块 Make_Set (Elt : EQ) : SET 类型为 elt = Elt.t = struct 输入 elt = Elt.t 输入 t = elt 列表 让空=[] 让rec is_element i设置= 比赛套装与...

回答 2 投票 0

如何更快地读取大文件

我正在用 OCaml 编写一个解析器,首先我需要一个函数来读取目标文件。我编写了以下函数来读取目标文件的内容并将其转换为字符串输出: 让

回答 1 投票 0

OCaml 相当于 Python 生成器

法国 Sécurité Sociale 识别号码以两位数的校验码结尾。我已经验证了每种可能的常见转录错误都可以被检测到,并发现了一些其他类型的

回答 3 投票 0

为什么退出Utop并重新加载模块不起作用?

当我启动我的 utop 解释器时 进而 说#退出;; 我得到答案错误:未绑定值退出 命令 #Topfind.reset();; 不重新编译我已更改的 ml 文件 我总是需要...

回答 1 投票 0

在 Opam 的帮助下安装 Dune

我设法在 Windows 上的 MSYS2 上安装 Opam。 当我打开 MSYS2 MING64(蓝色的)外壳并输入 opam——版本 它告诉我它已安装。 当我跑步时 opam 安装不...

回答 1 投票 0

在Ocaml中编译多文件项目,导致Unbound Module错误

上下文 我目前正在尝试学习 OCaml 的基础知识(通过 2022 年代码挑战的到来)。我的目标是仅使用 OCaml 标准库并编写我自己的 make 来获得基本知识 -

回答 1 投票 0

获取“未绑定记录字段mid_x”

我不明白为什么在运行此代码时收到此错误:“未绑定记录字段 mid_x”。函数 midpoint_segment os 试图做的是找到给定的中点...

回答 1 投票 0

为什么 ocaml 中的这个递归示例不适用于负数?

在Think Ocaml一书中,作者给出了这个例子: 让记录倒计时 n = 如果 n <= 0 then ( print_string "Blastoff!"; print_newline()) else ( print_int n; print_newli...

回答 1 投票 0

OCaml 和 Opam:未绑定模块 Core

我正在尝试设置 OCaml 环境,并且我已按照 Real World OCaml beta 的附录 A 中的说明进行操作。我设置了 opam,并使用以下命令安装了 OCaml 版本 $ 奥帕姆

回答 3 投票 0

找出在模式匹配中使用 catch all 时这些类型不同的原因

我需要一些帮助来理解类型推断如何影响以下代码,该代码来自上一个问题(经过一番思考后,我将其简化为以下代码): 输入“结果...

回答 1 投票 0

子矩阵 Ocaml

让moja_matrika1 = [[1; 2]; [3; 4]];; 让 moja_matrika2 = [[4; 7; 8]; [3; 2; 1]];; 让rec does_it_contain (lis1, lis2) = if (List.hd lis1 = []) then false else if (List.hd lis1 = lis2) then true...

回答 2 投票 0

CPS中fold_left怎么写?

尽管它已经是尾递归的,但看到它的 CPS 版本仍然很有趣。 这是标准的左折叠: 让 rec myFoldLeft f acc 列表 = 匹配列表与 | [] -> ACC |哈:...

回答 1 投票 0

数组初始值设定项是语法糖吗?

我正在编写一些 ocaml 并意识到 [1;2;3] 是 1::2::3::[] 的语法糖。 同样,C 中的数组初始值设定项也是语法糖吗? int a[] = {1, 2, 3}; 编译器必须生成...

回答 1 投票 0

有没有办法“匹配”以某个值开头的字符串? [重复]

例如,考虑以下表达式: 将字符串与 | “Foo”^ 休息 -> 休息 | “酒吧”^休息->休息 | _ -> “无与伦比” 不幸的是,这是一个

回答 2 投票 0

如何正确处理异常

我是 OCaml 语言的新手。我编写了用于研究数字乘法的函数。但我在异常处理的情况下遇到了问题。问题在于 int_of_string 函数无法转换

回答 1 投票 0

Ocaml 类型错误(变体/模式匹配)

尝试做一个简单的模式匹配变体,这将为我提供二叉树节点字符串的有序连接,但在递归实现中出现错误: 输入 btnode = |叶子 ...

回答 1 投票 0

合并两个列表,同时删除重复项

目标是合并(追加)两个列表,同时删除重复项。 让rec find_dup a lst = 匹配 lst 与 | [] -> 假 | hd::tl -> if (hd == a) then true else find_dup a tl;...

回答 2 投票 0

基数导致元组解构出现问题

当将 Base 添加到以下代码中时,为什么 OCaml 编译器期望 h 和 w 为整数? tup 应该是一个元组 - 有语法问题吗?到底是什么 Base 导致了这个 e...

回答 2 投票 0

OCaml - 基本导致元组解构问题

当将 Base 添加到以下代码中时,为什么 OCaml 编译器期望 h 和 w 为整数? tup 应该是一个元组 - 有语法问题吗?到底是什么 Base 导致了这个 e...

回答 2 投票 0

为什么会发生这种情况(Ocaml)

在 Ocaml 语言中,目标是组合(追加)两个列表,同时删除重复项。 让rec find_dup a lst = 匹配 lst 与 | [] -> 假 | hd::tl -> if (hd == a) then true e...

回答 1 投票 0

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