Что нового

Вложенная функция

winkot

Новичок
Сообщения
169
Репутация
0
В Справке указано, что "Объявление функции не может находится в теле другой функции, то есть функции НЕЛЬЗЯ вкладывать друг в друга." Но вот этот код:

Код:
Zvuk()

Func Soobshenie()
    MsgBox(4096, "", "Тест")
EndFunc   ;==>Soobshenie

Func Zvuk()
    Soobshenie()
    Beep(500, 500)
    Soobshenie()
EndFunc   ;==>Zvuk


прекрано работает. В функцию Zvuk() вложена функция Func Soobshenie() и все работает. Так как же обстоит дело на самом деле?
 

InnI

AutoIT Гуру
Сообщения
4,922
Репутация
1,432
Объявление функции
Объявление функции и вызов функции совсем не одно и то же.
Вот так нельзя
Код:
Zvuk()

Func Zvuk()
    Func Soobshenie()
        MsgBox(4096, "", "Тест")
    EndFunc   ;==>Soobshenie
    Beep(500, 500)
    Soobshenie()
EndFunc   ;==>Zvuk
 
Верх