看起来您正在尝试调用一个非 curried 函数,该函数接受一个不带参数的参数,因为这()
意味着正确。它使用的唯一原因
echo(. myArg)
是在这种情况下,编译器声明了一个未初始化的变量myArg
,并将其传递给 echo。编辑:您可以在这里查看我在re-script playground 的意思
let echo = (. a) => a;
let k =() => echo(. "String")
let myArg = ()
let s =() => echo (. myArg)
生成
// Generated by ReScript, PLEASE EDIT WITH CARE
'use strict';
function echo(a) {
return a;
}
function k(param) {
return echo("String");
}
function s(param) {
return echo(undefined);
}
var myArg;
exports.echo = echo;
exports.k = k;
exports.myArg = myArg;
exports.s = s;
/* No side effect */