この JS にコンパイルされる ReasonML を作成しようとしています。
function main(example) {
example.foo = function() {
console.log(this)
}
}
これが私の理由です:
let module Example = {
type t;
external set_foo_method : t => (t => unit [@bs.this]) => unit = "foo" [@@bs.set];
};
let main = fun example => Example.set_foo_method example (fun [@bs.this] x => {
Js.log(x);
});
2 番目の行と列で構文エラーが発生します[@bs.this]
。
File "/Users/maxwellheiber/dev/rerect/src/demo.re", line 6, characters 62-64:
Error: 742: <SYNTAX ERROR>
@bs.thisの BuckleScript ドキュメントに従っています。
BuckleScript を使用してバインドするための構文は、this
OCaml と比べて Reason で異なりますか? BuckleScript 属性を持つ次の OCaml (Reason ではない) は、エラーなしで正しい JS にコンパイルされます。
module Example = struct
type t
external set_foo_method : t -> (t -> unit [@bs.this]) -> unit = "foo" [@@bs.set]
end
let main example = Example.set_foo_method example (fun [@bs.this] x -> Js.log(x))
[@bs.this]
Reason で BuckleScript 属性を使用して を使用する JS を生成するにはどうすればよいthis
ですか?