这在 ReasonML 中编译:
let testFn = who => Js.(log("Hello " ++ who ++ "!"));
但不在 ReScript 中:
FAILED: src/test.ast
Syntax error!
/xxx/src/test.res:1:25-27
1 │ let testFn = who => Js.(log("Hello " ++ who ++ "!"));
2 │
I'm not sure what to parse here when looking at "(".
Syntax error!
/xxx/src/test.res:1:25-27
1 │ let testFn = who => Js.(log("Hello " ++ who ++ "!"));
2 │
consecutive statements on a line must be separated by ';' or a newline
我在 official docs 中没有发现任何提及删除的内容。我错过了吗?语法是否已更改,或者是否已删除且文档中未提及?
答案 0 :(得分:2)
正如@Yawar 在评论中所指出的,在撰写本文时不支持此简写,但很可能在未来某个时候支持(请参阅 https://github.com/rescript-lang/syntax/issues/2 以进行讨论)。
为了避免遇到这种情况的人点击一下,一种解决方法是使用本地范围重写它并在该范围内打开模块:
let testFn = who => {
open Js
log("Hello " ++ who ++ "!")
}