list - 对于没有整数的 OCaml 中的语句
问题描述
出于学习的原因,我想在 OCaml 中使用 for 循环而不是递归。
我进行了一些研究并应用了一个示例(https://ocaml.org/learn/tutorials/camlp4_3.10/foreach_tutorial.html):
let a_list = ["hello"; "world"] in
for s in a_list do
print_endline s
done
这是有道理的。但是,当我查看它时(例如在 Visual Studio 上),它告诉我 's' 是一个 int 变量。因此,我不能做类似的事情(其中'a','b',......是任何类型的变量):
let a_list = [a;b;c...] in
for s in a_list do
match s with
...
done
有没有办法像在 Python 中那样使用 for 语句?我的意思是,使用 's in list' 并且 s 的类型将是它的类型而不是 'int'?
那里有一些我看不到的东西。
提前致谢!
解决方案
OCaml 中没有 foreach。递归是惯用的风格,或者如果你真的想避免递归,你可以使用while
循环。For 循环仅迭代整数。
您可能对所链接教程的性质感到困惑:这是一个为 OCaml 实现(旧式)语法扩展的教程,而不是关于for
在 OCaml 中使用循环的教程。
推荐阅读
- excel - .Formula 属性相对引用
- python - Python正则表达式输出多个匹配项
- java - 限制重写方法的参数类型
- java - android-handler.postDelayed 是如何实现Delay的
- python - CMSIS- 非图像输入的 NN 量化问题
- azure - Azure SAS 令牌问题
- graphql - GraphQL 代码生成器 - 无法从 Nestjs 服务器端点加载我的 GQL 架构
- image - Vuetify 文本不会显示在轮播图像上
- c++ - libneo4j-client:无法连接,无法诊断
- jsp - 为什么我的 jsp 页面不能使用 https 而不是 http 解决包含 jsp 标签库的问题?