如何使用Idris JavaScript FFI访问JavaScript全局变量?
我正在尝试将Idris与Nativescript一起使用,方法是使用idrisjavascript FFI并将JavaScript用作codegen目标。但是,Nativescript似乎使用了全局变量,例如名为如何使用Idris JavaScript FFI访问JavaScript全局变量?,javascript,ffi,idris,Javascript,Ffi,Idris,我正在尝试将Idris与Nativescript一起使用,方法是使用idrisjavascript FFI并将JavaScript用作codegen目标。但是,Nativescript似乎使用了全局变量,例如名为global的对象。如何从Idris中使用该对象?您可以使用FFI编写单独的getter和setter函数(当然都在JS_IO中),然后您可以开始在其上构建任何抽象: getVar : JS_IO String getVar = foreign FFI_JS "globalVar" (J
global
的对象。如何从Idris中使用该对象?您可以使用FFI编写单独的getter和setter函数(当然都在JS_IO
中),然后您可以开始在其上构建任何抽象:
getVar : JS_IO String
getVar = foreign FFI_JS "globalVar" (JS_IO String)
setVar : String -> JS_IO ()
setVar = foreign FFI_JS "globalVar = %0" (String -> JS_IO ())
邮件列表上的某个人提出了这一建议,并且奏效了 只是,使用do表示法:
global <- foreign FFI_JS "global" (JS_IO Ptr)
global我真的不明白这些应该如何工作。getVar和setVar不应该使用Ptr而不是字符串吗,因为我想使用现有的JavaScript全局变量?