我正在尝试从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数据结构。
答案 0 :(得分:1)
总结讨论:
OP的代码在浏览器中与Scala.js 0.4.0一起使用。但是,它在REPL(通过sbt)中不起作用,因为Scala.js不支持REPL。
如果使用REPL,sbt插件将来会发出警告。