Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Idris JavaScript FFI访问JavaScript全局变量?_Javascript_Ffi_Idris - Fatal编程技术网

如何使用Idris JavaScript FFI访问JavaScript全局变量?

如何使用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

我正在尝试将Idris与Nativescript一起使用,方法是使用idrisjavascript FFI并将JavaScript用作codegen目标。但是,Nativescript似乎使用了全局变量,例如名为
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全局变量?