什么时候不在脚本编写中使用预编译?

时间:2017-09-27 09:37:59

标签: java groovy scripting jsr223

我读过Pre compilation scriptwhen you must compile script

我想知道是否存在预编译脚本会导致脚本失败或导致错误行为的情况?或者在运行脚本时,预编译总是正确的方法吗?

是否有选项可以让脚本在编译前失败但在没有它的情况下可以正常工作?

任何解释都将不胜感激。

1 个答案:

答案 0 :(得分:0)

我发现用于静态编译的groovy disadvantages主要缺少动态特性/动态方法调度。

我找到了example用于动态方法调度:

class Categorizer {

 void accept(String s) { println "String: '$s'" }
 void accept(Number n) { println "Number: $n" }
 void accept(Object o) { println "Object: $o" }

 void accept(Object... objects) {
    objects.each {
      accept(it)
    }
  }
}

new Categorizer().accept(
  "a",
  "${'b'}",
  1,
  true,
  ["c", "d", 2] as Object[]
)