Другие языки программирования и технологии

Программисты подскажите. Вопрос внутри...

Каким образом в языках программирования достигается следующая ситуация - function(имя_аргумента){ print имя_аргумента}Т.е. я вызываю ф-цию, она сама считает какое-либо значение и передаёт в саму себя. Ну допустим как в java :public void paint(Graphics g) { g.drawString("Hello",10,10); }Ф-ция paint в аргументах имеет объект g. Откуда она его берёт чтобы потом использовать? Заранее спасибо
как это откуда, функция - это некий код который откудато визивается с определенними параметрами, вот с этих вызовов ф-кция и получает параметры)
Заур Кузнецов
Заур Кузнецов
6 305
Лучший ответ
Алексей Железняков Да вот в том то и дело. Посмотрите внимательно на вопрос. Ф-ция ещё не вызывается. Я же написал что уже на этапе определения ф-ции она уже может пользоваться параметрами
public void paint(Graphics g) - в функцию собственно передаётся объект типа Graphic (или указатель на него)... и внутри функции он под именем g...
в общем сначала создаётся объект - потом указатель на него передаётся в функцию как аргумент... как то так в общем.. .

но если хотите чтоб чё-то считала а потом передавала сама в себя результат и опять чё-то с ним делла - это уже рекурсия называется... и это по моему полная жопа.. .
в Object pascal
procedure Bla-Bla(var Bla-bla)
begin
end;

в C
bla-bla func (void *Bla-bla){
}
наверное нужно описать её вначале, присвоить чё-нить
она берет его из вызова
//функция
function gettext(text)
{
print text;
}
//вызываем
gettext('привет');

вот слово привет и передастся функции и с ним она будет проводить все манипуляции
аргумент передается по ссылке.
Для примера php:
function gettext($text)
{
print $text;
}
на данный момент функция знает, что при вызове ей будет передан один параметр, значение которого присвоится переменной $text внутри функции. Так же функция знает, что его нужно будет print. Больше на этом этапе ей ничего заранее не известно.

gettext('привет');
теперь функция вызвана, она получает значение параметра, это значение стало доступно внутри функции в переменной $text.
И функция делает с ним print
насколько я понимаю это рекурсия, функция в принципе и сама себя может вызвать
из библиотеки (файла dll), которая подключается к программе, или из встроенной библиотеки, но её тоже надо указать.
все будееет хорошо 1
/функция
function gettext(text)
{
print text;
}
//вызываем
gettext('привет');