Как получить доступ к теневым переменным / функциям 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 }
Другие вопросы по тегам