Когда НЕ использовать предварительную компиляцию в сценариях?

Я читал о сценарии предварительной компиляции и когда вы должны скомпилировать сценарий.

Я хотел знать, есть ли какие-либо случаи, когда предварительная компиляция скрипта вызовет сбой скрипта или приведет к неправильному поведению? или предкомпиляция всегда правильная при запуске скриптов?

Есть ли вариант, что сценарий провалит предварительную компиляцию, но будет работать без него?

Любое объяснение будет оценено.

1 ответ

Решение

Я обнаружил, что отличительные недостатки статической компиляции - отсутствие динамических функций / динамическая диспетчеризация методов.

Я нашел пример для динамической отправки метода:

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[]
)
Другие вопросы по тегам