首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >(int -> int)是什么意思?

(int -> int)是什么意思?
EN

Stack Overflow用户
提问于 2017-02-26 09:21:01
回答 2查看 2.2K关注 0票数 2

我正在尝试破译其中的类型选择部分的含义。据我所知,它是将一个int乘以(int -> int),再乘以另一个int。我只是对(int -> int)是什么意思感到困惑。任何帮助都将不胜感激。

代码语言:javascript
复制
val callcc = SMLofNJ.Cont.callcc
val throw  = SMLofNJ.Cont.throw
type 'a cont = 'a SMLofNJ.Cont.cont

type choice = int cont * (int -> int) * int
EN

回答 2

Stack Overflow用户

发布于 2017-02-26 09:43:52

( int -> int )表示接受1个int参数并返回一个int的函数。你定义的不是乘法。“‘choice”是一种定义为3元组的类型。3元组包括一个int,一个接受int并返回int的函数,最后是另一个int。

票数 1
EN

Stack Overflow用户

发布于 2017-02-26 09:46:12

让我首先澄清一些我认为您误解了的事情:

  • type choice = ...choice声明为“类型构造函数”,这意味着它表示的是类型而不是值。右边是一个“类型表达式”;例如,您可以编写type myInt = int来将myInt声明为类型表达式中的整数type.
  • int * int,的替代名称,这并不意味着“一个整数乘以一个整数”;相反,它表示类型“一对int-s”。例如,值表达式int * int.

的类型为(1, 2)

别挡道。。。int -> int表示“接受int并返回int的函数”类型。例如,值表达式fn i => 2 * i具有int -> int类型,它是一个接受整数并返回该整数的两倍的函数。

把这些放在一起,

代码语言:javascript
复制
type choice = int cont * (int -> int) * int

choice声明为“一个三元组(三元组),其第一个元素是int cont;其第二个元素是一个接受int并返回int的函数;其第三个元素是一个int”。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42463643

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档