Что нового

Что будет если функцию засунуть внутрь другой функции?

Фазинур

Новичок
Сообщения
52
Репутация
0
Я не знаю как это будет работать, но если в основной функции указать параметры для работы, то уже эти параметры становятся общим и для остальных функции которые внутри находятся?
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
Ошибка будет. Ты не можешь внутри одной функции опередить другую.
 

---Zak---

Скриптер
Сообщения
455
Репутация
120
Как я понял вопрос бы в таких примерах:
Код:
Global $iSTR = 0

ConsoleWrite('Начало - $iSTR = '&$iSTR&@CRLF)
;~ 		Вызов функции F1()
	F1()
ConsoleWrite('Конец - $iSTR = '&$iSTR&@CRLF)

Func F1()
	$iSTR = $iSTR + 1
	ConsoleWrite('F1() - 1 этап - $iSTR = '&$iSTR&@CRLF)
;~ 		Вызов функции F2()
		F2()
	$iSTR = $iSTR + 1
	ConsoleWrite('F1() - 2 этап - $iSTR = '&$iSTR&@CRLF)
;~ 		Вызов функции F3()
		F3()
	$iSTR = $iSTR + 1
	ConsoleWrite('F1() - 3 этап - $iSTR = '&$iSTR&@CRLF)
EndFunc

Func F2()
	$iSTR = $iSTR + 1
	ConsoleWrite('F2() - 1 этап - $iSTR = '&$iSTR&@CRLF)
;~ 		Вызов функции F3()
	F3()
	$iSTR = $iSTR + 1
	ConsoleWrite('F2() - 2 этап - $iSTR = '&$iSTR&@CRLF)
EndFunc

Func F3()
	$iSTR = $iSTR + 1
	ConsoleWrite('F3() - 1 этап - $iSTR = '&$iSTR&@CRLF)
EndFunc

Код:
;~ Global $iSTR = 0


;~ ConsoleWrite('Начало - $iSTR = '&$iSTR&@CRLF)
;~ 		Вызов функции F1()
	F1(0)
;~ ConsoleWrite('Конец - $iSTR = '&$iSTR&@CRLF)

Func F1($iSTR)
	$iSTR = $iSTR + 1
	ConsoleWrite('F1() - 1 этап - $iSTR = '&$iSTR&@CRLF)
;~ 		Вызов функции F2()
		F2($iSTR)
	$iSTR = $iSTR + 1
	ConsoleWrite('F1() - 2 этап - $iSTR = '&$iSTR&@CRLF)
;~ 		Вызов функции F3()
		F3($iSTR)
	$iSTR = $iSTR + 1
	ConsoleWrite('F1() - 3 этап - $iSTR = '&$iSTR&@CRLF)
EndFunc

Func F2($iSTR)
	$iSTR = $iSTR + 1
	ConsoleWrite('F2() - 1 этап - $iSTR = '&$iSTR&@CRLF)
;~ 		Вызов функции F3()
	F3($iSTR)
	$iSTR = $iSTR + 1
	ConsoleWrite('F2() - 2 этап - $iSTR = '&$iSTR&@CRLF)
EndFunc

Func F3($iSTR)
	$iSTR = $iSTR + 1
	ConsoleWrite('F3() - 1 этап - $iSTR = '&$iSTR&@CRLF)
EndFunc
 
Верх