Как получить доступ к теневым переменным / функциям DXL?
Я обнаружил ошибку в сценарии, который я отлаживал, потому что кто-то создал переменную с именем, совпадающим со встроенной функцией, что делало функцию недоступной. Я получил странные ошибки при попытке использовать функцию, например:
incorrect arguments for (-)
incorrect arguments for (by)
incorrect arguments for ([)
incorrect arguments for (=)
Пример кода:
int length
// ...
// ...
string substr
string str = "big long string with lots of text"
substr = str[0:length(str)-2]
Есть ли способ получить доступ к оригинальной функции length() в этой ситуации? На самом деле я просто пытался добавить отладочный вывод в существующий скрипт, не пытаясь изменить скрипт, когда столкнулся с этой ошибкой.
Сейчас я только что переименовал переменную.
1 ответ
Ну, в случае, если у вас не было возможности изменить код, например, потому что он зашифрован, вы могли бы сделать что-то вроде
int length_original (string s) { return length s }
<<here is the code of your function>>
int length (string s) {return length_original s }