| 
| 
 | Вопрос # 4 836/ вопрос решён / | 
 |  Приветствую, уважаемые эксперты! Извините пожалуйста за глупый вопрос ( я просто новичек в программировании). Можно ли задавать функцию или процедуру внутри функции или процедуры? 
|  |   Вопрос задал: @rt_Solomon (статус: Посетитель)Вопрос отправлен: 18 декабря 2010, 19:53
 Состояние вопроса: решён, ответов: 1.
 |  Ответ #1. Отвечает эксперт: Вадим К Здравствуйте, @rt_Solomon!Да, конечно можно. И можно это делать ещё начиная с ранних версий турбопаскаля.
 Вот пример
 
 function foo():integer;
var a,b,c:integer;
procedure bar();//это объявление вложенной процедуры
begin
 
end;
 
begin
  bar();// здесь можно вызвать процедуру.
end;можно объявить много вложенных функций и вложенных во вложенные функции (реальный предел никогда не искал, то 20 вложенных можно сделать легко. Можно вкладывать как функции в процедуры, так и наоборот в любых комбинациях. Единственное, что эти вложенные функции будут недоступны вне родительской функции, но это скорее плюс - можно не бояться, что в разных функциях будут функции с одинаковыми именами.
 
|  | Ответ отправил: Вадим К (статус: Академик)Время отправки: 18 декабря 2010, 21:02
 Оценка за ответ: 5
 Комментарий к оценке: Спасибо! |  
 Мини-форум вопросаВсего сообщений: 2; последнее сообщение — 20 декабря 2010, 06:11; участников в обсуждении: 2. 
|   | Егор (статус: 10-ый класс), 20 декабря 2010, 05:21 [#1]:гм. а зачем задавать такой вопрос? нельзя было сразу в среде программирования попробовать? Опасайтесь багов в приведенном выше коде; я только доказал корректность, но не запускал его.— Donald E. Knuth.
 |  
|   | @rt_Solomon (статус: Посетитель), 20 декабря 2010, 06:11 [#2]:Т.к. в среде программирования у меня могут возникнуть ошибки, связанные не только с этим вопросом, то мне проще спросить об этом у экспертов. Тем более у меня очень не много времени для написания программы. |  20 декабря 2010, 10:04: Статус вопроса изменён на решённый (изменил модератор Ерёмин А.А.) Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |