Когда НЕ использовать предварительную компиляцию в сценариях?
Я читал о сценарии предварительной компиляции и когда вы должны скомпилировать сценарий.
Я хотел знать, есть ли какие-либо случаи, когда предварительная компиляция скрипта вызовет сбой скрипта или приведет к неправильному поведению? или предкомпиляция всегда правильная при запуске скриптов?
Есть ли вариант, что сценарий провалит предварительную компиляцию, но будет работать без него?
Любое объяснение будет оценено.
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[]
)