Суббота, 13 Декабрь 2008 08:05

Как получить значение нескольких переменных при однократном вызове функции?

Автор 
Оцените материал
(1 Голосовать)

Есть два основных типа передачи переменных в функцию: по значению и по ссылке.

При передаче значения по ссылке, передается не само значение переменной, а ее адрес. Значение, переданное по ссылке, может быть изменено внутри самой функции.

Для передачи ссылок в EasyLanguage существуют следующие типы объявлений:

    * StringRef
    * StringArrayRef
    * NumericRef
    * NumericArrayRef
    * TrueFalseRef
    * TrueFalseArrayRef

Вот, например, объявление массива в программе, из которой мы будем обращаться к функции с передачей этого массива в качестве параметра:

Arrays: State[10,1000](0);

Объявление этого же массива в качестве параметра в коде самой функции:

Inputs: RefArray[Xsize,Ysize](NumericArrayRef);

Где Xsize, Ysize - получают значение размера передаваемого массива. Эти обозначения (Xsize, Ysize) можно использовать в коде функции для того, чтобы получить размер передаваемого в качестве параметра массива.

Пример вызова функции (из индикатора, стратегии или иной функции):

x = Function(State);

При этом в функцию может буть передано сколько угодно значений в теле этого массива State, и возвращено любое количество значений, которое ограничивается только самим размером массива.

 



В подготовке материала принял участие Герман Брюханов (Leader).


Прочитано 3709 раз Последнее изменение Среда, 04 Май 2011 14:14
Gelium

Автор сайта.

Для души и разума.

Однажды на одной из английских фабрик вышел из строя паровой генератор. Каких только специалистов не приглашал фабрикант, но никто не смог его починить. И вот однажды пришел незнакомый человек и сказал, что может починить генератор. Фабрикант удивился, но решил дать мастеру шанс.

Далее...

Аккуратно и методично тот начал простукивать различные участки машины, внимательно прислушиваясь к звукам, которые издавала металлическая поверхность. За десять минут он простучал датчики давления, термостаты, подшипники и соединения, где, как он предполагал, находится повреждение. Затем он подошёл к одному из коленчатых соединений и нанёс несильный удар молотком. Эффект был мгновенным. Что-то сдвинулось, и паровой генератор заработал.

Фабрикант долго благодарил мастера, и попросил его прислать счет, где были бы расписаны все виды работ. Вот что было написано в счете:

За десять минут простукивания — 1 фунт.
За знание того, куда нужно ударить — 9999 фунтов. Итого: 10000 фунтов.

Мораль: профессионализм — это не умение ударить, а умение ударить именно туда, куда нужно.


 

Перепечатка авторских материалов сайта без указания ссылки на
сайт Gelium.net запрещена.

Gelium.net | 2000-2019 | © All rights reserved.