Приветы. есть вопрос по принципам писания максоскрипта.
Пример кода:
fn procFirst f=
(
print f
f = f+1
procSecond f
)
fn procSecond f =
(
if f < 10 do procFirst f
)
procFirst 1
Данный скрипт не сработает, так как вторая процедура вызывается в первой раньше чем она написана в скрипте. Если вторую поместить выше, до первой, то первая сработает, но вторая уже слетит (если макс только что перезагружен), так как первая написана ниже чем она вызвалась. Этот мегакосяк уж очень глупо выглядит. Быть может есть способ както закешить все процедуры до исполнения всего скрипта? Так как перекрестного вызова мне не лишиться, рекурсия там. А такой имеющийся метод срабатывает только со второго раза, а надо с первого!
Доступ к резюме доступен только по пакетному доступу HR менеджерам зарегистрированных компаний. Узнать о вариантах корпоративных пакетов можно по ссылке.
Paul_Winex
Пример кода:
fn procFirst f= ( print f f = f+1 procSecond f ) fn procSecond f = ( if f < 10 do procFirst f ) procFirst 1Данный скрипт не сработает, так как вторая процедура вызывается в первой раньше чем она написана в скрипте. Если вторую поместить выше, до первой, то первая сработает, но вторая уже слетит (если макс только что перезагружен), так как первая написана ниже чем она вызвалась. Этот мегакосяк уж очень глупо выглядит. Быть может есть способ както закешить все процедуры до исполнения всего скрипта? Так как перекрестного вызова мне не лишиться, рекурсия там. А такой имеющийся метод срабатывает только со второго раза, а надо с первого!Paul_Winex
global procSecond global procFirst fn procFirst f= ( print f f = f+1 procSecond f ) fn procSecond f = ( print f if f < 10 do procFirst f ) procFirst 1То есть объявить имена процедур в самом начале как глобальные. Кажется помогает.