ML 中 ref 函数的用法

2024-01-09

考虑到 ref 运算符,我很难理解它的应用以及以下指令的含义:

1.

在这个定义中我定义什么?

 - val ref x=ref 9;

 val x = 9 : int

2.

我在这里用 ref x:= ref 12 做什么?

 - val x= ref 8;

 val x = ref 8 : int ref

 - ref x := ref 12; 

 val it = () : unit

 - x;

 val it = ref 8 : int ref

val ref x = ref 9定义x to be 9- 就像你写的一样val x = 9。这是因为ref是一个构造函数,因此它的模式与值匹配ref 9反对模式ref x,这绑定了x到9.当然可以这样写,而不是只写val x = 9没有什么意义。

当你写的时候ref x := ref 12,你创建一个新的ref(类型int ref ref) 指的是x。然后你立即改变这个新的ref参考ref 12而不是为了x。自新ref您创建的内容永远不会存储在您可以访问的任何地方,这不会产生明显的影响。

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

ML 中 ref 函数的用法 的相关文章

  • 小波分析

    本文首先介绍了从傅里叶变换到小波变换的发展史 然后着重强调了小波变换的两种作用 时频分析和多分辨率分析 最后讲了一下吉布斯效应等相关知识 FT 傅里叶变换 通过将信号分解成正余弦函数 把三角函数当做函数空间的基 将时域信号转化为频域信号 缺
  • 常见特征工程操作

    常见的特征工程包括 异常处理 1 通过箱线图 或 3 Sigma 分析删除异常值 2 BOX COX 转换 处理有偏分布 3 长尾截断 特征归一化 标准化 1 标准化 转换为标准正态分布 2 归一化 抓换到 0 1 区间 3 针对幂律分布
  • ML-数据分析模板

    文章目录 机器学习 数据分析模板 Objective Data Set Information Attribute Information INPUT 单特征与缺失值展示 Feature Cleaning Engineering 标签转换
  • Compressed Sparse Column format(CSC)

    CSR Compressed Sparse Row format 和CSC Compressed Spare Column format 都是一种稀疏矩阵的存储格式 这里分别给出实例 假设有如下矩阵 1360
  • 关于pickle的load,loads等

    基础知识 python自带的file函数只能存储和读取字符串格式的数据 pickle可以存储和读取成其他格式比如list dict的数据 来自 https www zhihu com question 38355589 如需更详细 关于lo
  • ML--HMM(隐马尔可夫模型及python的实现1)

    1 综述 隐马尔可夫模型是马尔可夫模型的进一步发展 马尔可夫模型是马尔可夫过程的模型化 可以用图1 a 的框图形象表示 它把一个总随机过程看成一系列状态的不断转移 图1 b 是隐马尔可夫模型 1 1几个需要理解的概念 a 马尔可夫性 如果一
  • SML 警告:使用空列表或 NONE 选项时,类型变量未通用化

    我一生都无法弄清楚为什么以下 SML 函数在我的作业问题中抛出警告 fun my func f ls case ls of gt raise MyException head rest gt case f head of SOME v gt
  • N 元组与对

    在 Ocaml 中 具有不同元数的元组具有不同的类型和值构造函数 let a 1 2 3 val a int int int 1 2 3 let b 1 2 3 val b int int int 1 2 3 请注意 第二个示例 b 比第一
  • 这个函数签名在sml中是什么意思?

    我正在查看我的教授关于 SML 语言的一些注释 其中一个函数如下所示 fun max gt let fun lp curr curr lp curr a l if gt a curr then lp a l else lp curr l i
  • 查看 SML 完整列表

    有没有办法使用 SML 打印完整列表 通常在 SML 中发生的情况是 当我有太多元素时 它会打印前几个元素 并用 分隔 然后省略列表的其余部分 但我想查看完整的列表 有什么办法可以做到这一点吗 val a 1 2 3 4 5 6 7 8 9
  • number_in_month 练习(SML 中多个列表的迭代)

    我在 SML 中有两个列表 假设列表 A a b c d e f 和列表B b e 我想计算 B 中每个项目与 A 中每个三元组的第二个元素匹配的次数 输出应该是 2 因为b and e每个在 A 中出现一次 到目前为止 这是我的代码 但是
  • SML - 未绑定变量或构造函数

    我有下一个代码 datatype expr K of string Number2 of expr expr list datatype number Number1 of string Number3 of int fun append
  • SML 中的霍纳算法? [关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我正在尝试实施霍纳算法 http en wikipedia org wiki Horner 27s algorithm
  • 用 OCaml 编写解释器 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在大学学习一门课程 要求我从操作语义开始 用 OCaml 编写一种语言的解释器 不幸的是 除了课程
  • SML/NJ:如何使用哈希表?

    我真的很想在 SML 中创建一个哈希表 似乎 SML NJ 中已经有一个结构 问题是 我该如何使用它 我还没有完全理解如何在SML中使用结构 并且我读过的书中的一些非常基本的示例给了我错误 我什至不知道如何纠正 所以使用HashTable结
  • 标准机器学习中的部分总和?

    我是函数式编程的新手 我有一项任务来计算列表的部分和 例如 psum 1 1 1 1 1 val it 1 2 3 4 5 整数列表 这是到目前为止我的代码 然而 在函数 psum2 L 中 我不知道如何遍历每个值并将它们相加 所以我只是打
  • SML 中的柯里化匿名函数

    我有下面的功能并且它有效 fn x gt x 2 2 但这不起作用 fn x y gt x y 2 3 谁能告诉我为什么 或者给我一些提示让它发挥作用 fn x gt fn y gt x y 2 3 works fn只是没有相同的语法糖来定
  • 将其参数应用于自身的函数?

    考虑以下 SML 函数 fn x gt x x 这会产生以下错误 新泽西州标准 ML v110 72 stdIn 1 9 1 12 Error operator is not a function circularity operator
  • 标准 ML 展开列表

    路线 功能expand接收任意类型的列表和整数 数字n 并返回一个列表 其中输入列表的每个项目是 复制的n次 例如 展开 1 2 3 3 必须是 计算结果为 1 1 1 2 2 2 3 3 3 函数的类型必须是 a 列表 int 列表 这是
  • 如何在ocaml中将字符串转换为整数列表?

    我需要在 ocaml 中传递两个列表作为命令行参数 我使用以下代码在程序中访问它 let list1 Sys argv 1 let list2 Sys argv 2 我需要将 list1 和 list2 作为整数列表 我收到错误 该表达式的

随机推荐