Sml 标准ML中的行注释

Sml 标准ML中的行注释,sml,smlnj,Sml,Smlnj,我在用SML/NJ方言学习ML。我想弄清楚的是,是否有行注释操作符。我找到了块注释操作符(*…*),但我确实错过了行注释 建议?还是我只是被块注释卡住了?你被块注释卡住了 另一方面,块注释可以嵌套:(*(**)仍然在这里注释*)它建议在一个哈希标记后面加一个空格。这让我很难过,但哦,好吧。嵌套注释很酷,谢谢。请注意,这取决于您的编译器/交互环境。根据规范,注释可能不包含子字符串“*)”,因此即使某些实现比较宽松,也应该避免使用它。@Nicholas Wilson:你说得对,我把OCaml()搞混

我在用SML/NJ方言学习ML。我想弄清楚的是,是否有行注释操作符。我找到了块注释操作符(*…*),但我确实错过了行注释


建议?还是我只是被块注释卡住了?

你被块注释卡住了


另一方面,块注释可以嵌套:
(*(**)仍然在这里注释*)

它建议在一个哈希标记后面加一个空格。

这让我很难过,但哦,好吧。嵌套注释很酷,谢谢。请注意,这取决于您的编译器/交互环境。根据规范,注释可能不包含子字符串“*)”,因此即使某些实现比较宽松,也应该避免使用它。@Nicholas Wilson:你说得对,我把OCaml()搞混了。@Nicholas Wilson,刚刚发现了这个旧答案。对于记录,SML语言规范明确允许嵌套注释(“第2.3节:注释是注释括号
(*
*)
中注释括号正确嵌套的任何字符序列”)。所有的实现都正确地支持它们,并且总是有。另外,FWIW,MLton和SML/NJ最近都实施了一项旧的建议,允许通过
(*)
,进行行注释,尽管这项建议尚未发布。好的,我的观点是正确的——但我想我确实在五年前查过它,也许我手中有一个库中的旧规范。我不知道是谁写的这个建议,但它与SML不兼容:
#a
已经是现有代码中使用的有效语法。在一些编译器中实施的建议是使用
(*)
开始一行注释。我不知道为什么我因为提到RFC而被否决。我只是提供更多信息,而不是告诉你如何投票。