Scala.js中的托架访问

时间:2014-03-26 14:53:10

标签: scala scala.js

我正在尝试从scala-js / test / src / test / scala / scala / scalajs / test / jsinterop / DictionaryTest.scala中获取以下代码,以便在Scala.js项目的浏览器中运行。

import scala.scalajs.js

val obj = js.eval("var dictionaryTest13 = 
     { a: 'Scala.js', b: 7357 }; dictionaryTest13;")
val dict = obj.asInstanceOf[js.Dictionary[js.Any]]
var propCount = 0
var propString = ""

for (prop <- js.Dictionary.propertiesOf(dict)) {
  propCount += 1
  propString += dict(prop)
}
// g.console.log(...)

它给了我:java.lang.RuntimeException:stub

如何使其工作并使用括号访问权限,例如类似于js模式运行从js到scala.js的json对象:for(i in obj){obj [i]}?

这有助于以不受特定属性约束的方式迭代过度json数据结构。

1 个答案:

答案 0 :(得分:1)

总结讨论:

OP的代码在浏览器中与Scala.js 0.4.0一起使用。但是,它在REPL(通过sbt)中不起作用,因为Scala.js不支持REPL。

如果使用REPL,sbt插件将来会发出警告。