这里的第一个问题只是想作为我做了几个查询的序言,虽然我发现了多个措辞相似的问题,但我发现没有一个问题在问或回答我的问题(据我所知)。
我正在 SML 中进行类作业,因此我将省略一些细节,以便我可以自己解决问题。我在 SML 中定义了以下类型:
- type Env = string -> int;
本质上,Env 类型应该是一个允许从字符串映射到 int 的函数——这是一个简单的环境方案。创建一个执行此操作的函数就足够了,即:
- fun foo (s:string) = 10; (*simple example*)
但是有没有办法将这个函数实际声明为“Env 类型”?原因是最终我需要创建一个返回值为 Env 类型函数的函数,而我不知道如何执行此操作。我知道 SML 允许类型别名,我认为这意味着技术上任何具有类型
string -> int
的函数将与程序的 Env 类型同义,但我想要更明确的内容。如果需要澄清,请询问,我将尝试更简洁。
最佳答案
The reason is eventually I need to create a function whose return value is an Env type function and I have no idea how to perform this.
使用时
fun
, 可以指定返回类型为 Env
通过放置类型注释 : Env
在所有的论证模式之后;例如:fun fooFactory arg : Env = ...
关于sml - (SML) 将类型定义为函数并创建此类型的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35255943/