ocaml学习随笔-1

2023-11-09

utop # let rec my_listprint items =

match items with

|first::the_rest->printf "%s\n" first;

my_listprint the_rest

|[]->""

;;

val my_listprint : string list -> string = <fun>                                ─( 21:48:03 )─< command 27 >─────────────────────────────────────{ counter: 0 }─utop # my_listprint ["aaa";"nnnn";"bbbb"];;

aaa     

nnnn

bbbb                                                                            

- : string = ""                                                                 ─( 21:48:13 )─< command 28 >─────────────────────────────────────{ counter: 0 }─utop


utop # let my_first items=match

items with 

|first::the_rest->first

|[]->"null"(*空*)

;;

val my_first : string list -> string = <fun>                                    ─(                          ─( 20:35:09 )─< command 3 >──────────────────────────────────────{ counter: 0 }─

utop # my_first ["one";"two";"three";"four"];;

- : string = "one" 


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ocaml学习随笔-1 的相关文章

  • Ocaml 多态记录类型不太通用

    给定以下类型 type props state reactInstance props props state state updater event props state reactInstance gt event gt state
  • 程序程序员的功能代码片段列表? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 在 OCaml 中读取 URL 的 HTML 内容

    我想编写一个 OCaml 函数 它接受一个 URL 并返回一个由该位置的 HTML 文件内容组成的字符串 有任何想法吗 多谢 最好的 苏里卡托 我已经使用 ocurl 和 nethtml 完成了这两件事 ocurl http sourcef
  • OCaml 中的这种模式匹配并不详尽

    我是 OCaml 新手 我编写了一些代码来获取列表的 n 元素 let rec n elem l n match n with 0 gt match l with h gt h gt failwith erorr with empty li
  • 用 OCaml 编写解释器 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在大学学习一门课程 要求我从操作语义开始 用 OCaml 编写一种语言的解释器 不幸的是 除了课程
  • OCaml 中的“Eval”字符串

    我正在尝试 评估 表示 OCaml 中的 OCaml 表达式的字符串 我想做一些与 Python 类似的事情eval https docs python org 3 library functions html eval 到目前为止我还没有
  • 模式匹配和 if-else 之间的性能差异

    为什么 OCaml 可以为模式匹配生成高效的机器代码 而不是为 if else 测试生成高效的机器代码 我在读 Real World OCaml 时发现this https realworldocaml org v1 en html lis
  • 在 OCaml 中将哈希表转换为对(键,值)列表

    OCaml 中有没有办法将哈希表转换为 键 对 值列表 我知道 给定一个哈希表ht我们可以做的 BatList of enum BatHashtbl enum ht 使用电池库 这会将表转换为枚举 然后将枚举转换为列表 但我正在寻找一种不使
  • 跟踪编译器中 AST 节点的源位置 (ocaml)

    我正在使用 ocamllex yacc 在 ocaml 中编写编译器 一切进展顺利 但我遇到了设计问题 对于我创建的每个 AST 节点 最好能获得有关源代码中该节点的行 字符位置的信息 这对于稍后向用户提供错误消息很有用 现在 我可以向我的
  • ocaml 漂亮的打印机(代码格式化程序)

    我正在寻找适用于 ocaml 的代码格式化程序或漂亮的打印机 类似 gofmt 的 go 编程语言 它最好应该保留评论 我正在纠正提交的内容 一些代码的格式使其非常难以阅读 如果你不关心评论 你可以使用camlp4 camlp4
  • 如何让 ocaml 相信两个函子实例化是相等的

    假设我有许多模块 它们都使用一种模块类型进行参数化 并且彼此之间也具有依赖关系 module type AT sig end module B A AT struct module Hash struct type t int let eq
  • 扁平列表和免费 monad

    我试图说服自己 List monad 具有平面列表 列表串联和按元素映射的列表 不是一个自由 monad 准确地说 是与某个函子 T 关联的自由 monad 据我了解 我应该能够通过以下方式实现这一目标 首先在 monad 列表中找到常用运
  • 使用 Opam 管理项目依赖关系

    我是 OCaml 的新手 我使用过的其他语言 例如 Scala Clojure Node js 上的 Javascript 都有包管理器 允许人们以干净的状态启动项目 该项目具有一组已声明的已知版本的依赖项 我正在尝试与 Opam 做类似的
  • OCaml 数据类型定义中的方括号“[”和“]”是什么意思?

    I saw 下列 https coq github io doc v8 11 api coq Genarg index html type rlevel type rlevel rlevel 但我以前从未见过这种情况 并且 ADT 代数数据
  • Ocaml 中的 Socket onread、onready、onclose 事件处理函数

    我正在 Ocaml 中使用 TCP IP 套接字开发协议 并且我有兴趣实现事件驱动方法 基本上 我想创建事件处理函数 每当套接字接收到新数据或关闭或打开时调用 是否可以在 Ocaml 中完成而无需使用多线程手动实现 Thanks 是的 制作
  • 使用 OCaml Graphics 实际更改文本大小

    我想知道如何在 OCaml 中设置文本大小 我试过Graphics set text size我想这应该可以达成交易 但无论我把set text size 200 or set text size 20并没有改变什么 Graphics se
  • 具有可变参数数量的 OCaml 函数

    我正在探索 OCaml 函数的 高级 用法 我想知道如何编写具有可变数量参数的函数 例如 像这样的函数 let sum x1 x2 x3 xn x1 x2 x3 xn 通过一些类型黑客 当然 let sum f f 0 let arg x
  • 为什么 OCaml 不允许函数匹配? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 值的 Ocaml 表示 - 原子

    我查看了一些 OCaml 值的内部表示 空数组的表示是atom 0 即一个块tag 0 and size 0 空浮点数数组由atom 0 too 是否存在由原子表示的任何 OCaml 值tag gt 0 如果不是 OCaml 字节码集包含以
  • OCaml 2 和 3 之间的差异

    我有兴趣学习这门语言 但似乎有关该主题的教程和书籍很少 我只找到一本关于这个主题的合适的书 用 Objective Caml 这绝对是完美的 但问题是它是基于 2 04 版本的 所以我唯一关心的是使用这本书 对于 OCaml 3 x 是否会

随机推荐

  • python之requests模块详解

    目录 requests使用 requests请求方法 requests响应对象属性 Requests模块是一个用于网络请求的模块 主要用来模拟浏览器发请求 其实类似的模块有很多 比如urllib urllib2 httplib httpli
  • 微信公众号【OpenID详解】

    只知道 openID 是微信号加密后得到的 不同的公众号获取得微信号openID不同 但 UnionID 是一样的 微信openid由用户id和公众号id加密而来 同一用户相对同一公众账号的openid是不变的 对于不同公众号 同一用户的o
  • Learning OpenStack Keystone

    Author 海峰 http weibo com 344736086 http yanheven github io http blog csdn net yanheven1 这周重新学习整理了OpenStack Keystone里面的知识
  • CentOS没有了用什么?Rocky Linux 8.6安装体验

    2020 年 12 月 8 日 CentOS 项目宣布 CentOS 8 将于 2021 年底结束 而 CentOS 7 将在其生命周期结束后停止维护 CentOS 7 9 和 CentOS 8 5 将是最后的2个CentOS 版本 官方解
  • concurrentHashMap解析这篇文章就够了

    实现原理 ConcurrentHashMap使用分段锁技术 将数据分成一段一段的存储 然后给每一段数据配一把锁 当一个线程占用锁访问其中一个段数据的时候 其他段的数据也能被其他线程访问 能够实现真正的并发访问 如下图是ConcurrentH
  • 使用 Python 操作 MongoDB

    使用 Python 操作 MongoDB MongoDB 是一个开源的面向文档的 NoSQL 数据库 它具有高性能 可扩展性和灵活性的特点 通过使用 Python 的 pymongo 模块 我们可以方便地操作 MongoDB 数据库 本文将
  • CPU工作原理和MMU初探

    具体相关内容主要参考自一篇博客 当然有结合其它内容 感谢博主提供的资源 这里附上参考链接 http www cnblogs com xiangtao archive 2013 04 11 3014815 html 关于CPU和MMU需要做几
  • 企业微信第三方应用-应用客服会话(h5)

    企业微信中第三方应用 h5 不能像小程序那样将button标签的open type属性设置为contact即可跳转到客服会话页面 但是js sdk为了开发者提供了openThirdAppServiceChat Api 让用户可快速打开应用客
  • IT项目管理作业五

    一 你联合同学做一个年级微信公众号加强各班相互了解 联合活动 等 请写一份两页的报告 描述收集需求的方法 并附上收集的 需求跟踪矩阵 不少于五个需求 收集需求的方法 数据收集方面 头脑风暴 召集项目所有的参与成员 共同讨论关于微信公众号对于
  • Python Class

    关键字1 self self指代 类的实例化 而不是类本身 class Test def prt self print self print self class t Test t prt result
  • 从事Java三年多,去应聘16k最后没被录用,细节如下……

    前言 今天小编和大家分享一位以前面试的一位应聘者 工作4年26岁 统招本科 以下就是他的简历和面试情况 基本情况 专业技能 1 熟悉Sping了解SpringMVC SpringBoot Mybatis等框架 了解SpringCloud微服
  • 和平精英服务器位置,和平精英音乐盒在哪里 地图详细位置介绍

    和平精英体验服最近重新开放服务器 不少玩家在游戏中发现了新内容 特别是热度特别高的万圣节模式 很多小伙伴会问和平精英音乐盒在哪里 快随小编来看看吧 在所有地图的一些房区里面是会随机刷新出音乐盒的 当我们发现音乐盒后是可以与这个道具互动的 我
  • 2023前端面试题——JS篇

    1 判断 js 类型的方式 1 typeof 可以判断出 string number boolean undefined symbol 但判断 typeof null 时值为 object 判断数组和对象时值均为 object 2 inst
  • 避免陷入信息茧房

    目录 一 什么是信息茧房 二 做什么容易陷入信息茧房 三 如何避免陷入信息茧房 总结 一 什么是信息茧房 信息茧房 Echo Chamber 是指在社交媒体和互联网环境中 个体被限制在一种信息和观点的环境中 与自己持相似观点的人群形成闭环
  • 目标文件格式分析工具: ar,nm,objdump,objcopy,readelf

    http www kgdb info linuxdev object analyse tools 目标文件格式分析工具 ar nm objdump objcopy readelf 2011年9月5日 reship 发表评论 阅读评论 本文转
  • 推荐算法:基于内容的推荐_1:内容推荐算法

    基于内容的推荐 推荐给用户他们过去喜欢的类似产品 基于CF的推荐 识别出具有相同爱好的用户 给他们推产品 基于内容的推荐算法 基于内容推荐的步骤 对数据内容分析 得到物品的结构化描述 分析用户过去的评分或评论过的物品的 作为用户的训练样本
  • nabc模型_WHϵÁÐÔ²»¡Ô²ÖùÎϸ˼õËÙ»ú3DÁ¢ÌåÄ£ÐÍ_¼õËÙ»ú_¼õËÙÆ÷_Öйú¼õËÙ»úÐÅÏ¢Íøwww.jiansuji001.com...

    OzsgSFNGIFYxMy4wNSAKSQAAAABCAFTjJb68dJO9QmDluwAAAD4nMQg TDeJPlp42ux9B0BU17bonjnnTC 0XobeYWYYYCiD2BGNhSYiKogoKqKCBStjixqj
  • vscode打开代码,注释中的中文显示乱码

    问题如下 np random seed 2017 瀹氫箟闅忔満鏁扮殑绉嶅瓙 INPUT CHANNELS 3 杈撳叆鏁版嵁鐨勬尝娈垫暟锛孯GB锛屼负3 OUTPUT MASK CHANNELS 1 瀹氫箟杈撳嚭mask鐨勬尝娈垫暟锛屽彧鏈変
  • String与StringBuffer的区别

    String 是一个常量 即一旦创建不可更改 输出结果为 helloworldjeok 看似 string变量name的值改变了 其实此name非彼name 输出结果为 sex hello worldjeok name hello worl
  • ocaml学习随笔-1

    utop let rec my listprint items match items with first the rest gt printf s n first my listprint the rest gt val my list