如何通过“V8”软件包使用R语言的Javascript库?

时间:2016-11-29 14:35:53

标签: javascript r v8

我想在R语言中使用RiTa.js,但我的代码没有加载正确的库。我该如何解决?

脚本

library(V8)

ct <- v8()

ct$source("https://cdnjs.cloudflare.com/ajax/libs/rita/1.1.51/rita-full.js")


ct$eval("var s = 'it was a dark and stormy night.';")

ct$eval("var r = new RiString(s);")

结果

Error in context_eval(join(src), private$context) : ReferenceError: RiString is not defined

1 个答案:

答案 0 :(得分:4)

我认为您只需稍作调整就可以启动并运行。 RiTa JavaScript希望在浏览器中使用window。 R V8中的默认值为global。幸运的是,我们可以使用global="window"参数轻松更改。

library(V8)

ctx <- v8(global="window")
ctx$source("https://cdnjs.cloudflare.com/ajax/libs/rita/1.1.51/rita-full.js")
ctx$get("Object.keys(window)")

您现在应该可以看到所有RiTa.js可供使用。

  [1] "console"      "print"        "window"       "ArrayBuffer" 
  [5] "Int8Array"    "Uint8Array"   "Int16Array"   "Uint16Array" 
  [9] "Int32Array"   "Uint32Array"  "Float32Array" "Float64Array"
 [13] "DataView"     "_RiTa_LTS"    "RiTa"         "RiString"    
 [17] "RiGrammar"    "RiMarkov"     "RiWordNet"    "RiLexicon"   
 [21] "RiTaEvent"