问题标签 [smlnj]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
699 浏览

sml - SML 中的无限序列


我必须编写一个函数来接收一个序列(有限或无限)并返回一个相同的序列,唯一的区别是如果在序列期间发生异常,则该函数将序列返回到它的开头。
换句话说,该函数必须返回一个循环序列,该序列在结束时会重复自身。我必须用句柄捕捉异常。
以下示例必须有效。

  • listToSeq [1,2];
    val it = Cons (1,fn) : int seq
  • restartOnError 它;
    val it = Cons (1,fn) : int seq
  • 尾随它;
    val it = Cons (2,fn) : int seq
  • 尾随它;
    val it = Cons (1,fn) : int seq
  • 尾随它;
    val it = Cons (2,fn) : int seq

有人能帮我吗 ?

0 投票
1 回答
389 浏览

sml - 与“新泽西州 SML”合作

我为 windows vista 下载“SML of new jersey”。

我处理在库 c 中调用“a.ml”的 ML 文件。

现在我想将文件中的所有命令加载到解释器,但我没有成功。

我试过(使用“c:\a.ml”);

谢谢您的帮助。

0 投票
2 回答
5031 浏览

sml - 打开 SML 文件 - 使用失败

我使用以下命令在“新泽西州 SML”中打开了一个文件:use "c:\\work.sml",它给了我下一个问题:

work.sml中,我只有这一行:

0 投票
1 回答
285 浏览

sml - ml 数据类型(带有原始函数)如何制作?

我有这个数据类型

和这个程序

如何扩展此数据类型和 evl 过程:

-val addsub = evl( A( X(1),X(2),X(3), S( X(4),X(5) ) )) ; addsub(4,5,2,9,8) 返回它 = 12 (4+5+2+(9-8))

P = +, S = -, M = * , D = / 而不仅仅是 X(5),我需要 X(n) ...?

0 投票
3 回答
3431 浏览

string - 在 smlnj 中,如何将“字符串选项”转换为“字符串”?

请帮助我不知道字符串选项的作用。

是否可以将字符串选项转换为字符串?

0 投票
1 回答
1658 浏览

sml - 简单的 SML 代码错误

我刚刚开始学习 SML,并且仍在理解它的错误消息的过程中。

尝试输入下面的函数定义时

我收到以下错误:

有人可以指出我做错了什么吗?

谢谢你。

0 投票
1 回答
13525 浏览

while-loop - SML/NJ while 循环

我对 SML 真的很陌生,我不知道如何得到相同的答案;

它类似于:3^4 < 32 但 3^5 > 32 所以我的答案是 4(3 的幂),同样如果我有数字 4 和 63 然后 4^2<63 但 4^3>63 所以我的答案是 2(4 的幂)。

我想出了以下代码

所以这里的价值是我需要的答案,但我得到了很多错误。我知道我在很多地方都错了。任何帮助,将不胜感激。

我也许可以用正常的 ML 方式做到这一点,但我也想学习不纯的 ML ......

好的,所以最后这里是 while 循环的正确代码,它也可以工作;

0 投票
2 回答
236 浏览

sml - sml 语法很难查找文档

我正在尝试使用以下代码“模拟”按值传递结果函数,但似乎存在语法错误。我一直在浏览 sml 教程,但我很难弄清楚为什么这不起作用

0 投票
1 回答
333 浏览

recursion - 为什么我的函数是'a list *'a list -> 'b list?

我想我希望它是 'a list * 'a list -> 'a list 类型。

交集应该返回两个列表样本输入和输出的交集:

  • 交集([1],[1]);
    • [1]
  • 交集([1,2,3],[1,2]);
    • [1,2]
  • 交集([[2,3],[1,2],[2,3]],[[1],[2,3]]);
    • [[2,3]]

我的功能:

我不认为 in_list 是问题,但看起来像这样:

0 投票
1 回答
1752 浏览

sml - SML 函数参数

条件:
当 1.list 比 2.list 长时返回值:1
当 1.list 与 2.list 具有相同数量的元素时返回值:0 当 1.list 比 w 短时。列表返回值:~1