Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/16.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
使用jscala将Scala类转换为javascript_Javascript_Scala - Fatal编程技术网

使用jscala将Scala类转换为javascript

使用jscala将Scala类转换为javascript,javascript,scala,Javascript,Scala,我是Scala和JScala的新手。我有一个Scala类,全局变量定义为val test=Set(“testglobal”)。我将其转换为javascript的代码如下: object Convertscalatojs { def converttoscala() { @Javascript class TrafficSource { val test = Set("test") // val test1="testvar" }

我是Scala和JScala的新手。我有一个Scala类,全局变量定义为
val test=Set(“testglobal”)
。我将其转换为javascript的代码如下:

object Convertscalatojs {
  def converttoscala() {
    @Javascript class TrafficSource {
      val test = Set("test")
      //
      val test1="testvar"
    }

    val js = TrafficSource.jscala.javascript
    js.eval()
    println(js.asString)
  }

  def main(args: Array[String]) {
    converttoscala()
  }
}
我得到一个错误,因为:

Error:(14, 6) Unsupported syntax: scala.this.Predef.Set.apply[String]. 
    @Javascript class TrafficSource {

如何将globals转换为JS代码?

我认为
@JavaScript
注释仅仅意味着在
JavaScript
代码块中可以使用等效类型的构造函数。例如:

object Convertscalatojs {
  def converttoscala() {
    @Javascript class TrafficSource {
      val test = Set("test")
      //
      val test1="testvar"
    }

    val js = TrafficSource.jscala.javascript
    js.eval()
    println(js.asString)
  }

  def main(args: Array[String]) {
    converttoscala()
  }
}
@Javascript类StaticGlobalsReference{
val测试=设置(“测试”)
}
然后可在代码块中使用:

def main(参数:数组[字符串]){ val js=javascript{ val globals=new StaticGlobalsReference(); println(全局测试); } println(js.asString); } 参考: