2

これは 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

公式ドキュメントで削除についての言及は見つかりませんでした。私はそれを逃しましたか?構文が変更されましたか、それとも削除されてドキュメントに記載されていませんか?

4

1 に答える 1

3

コメントで @Yawar が指摘したように、この省略形は執筆時点ではサポートされていませんが、将来のある時点でサポートされる可能性があります ( https://github.com/rescript-lang/syntax/issuesを参照)。 /2は議論のため)。

そして、これに出くわした人のためにクリックを節約するための回避策は、ローカルスコープを使用して書き直し、そのスコープでモジュールを開くことです:

let testFn = who => {
  open Js
  log("Hello " ++ who ++ "!")
}
于 2021-01-27T07:47:33.287 に答える