Суббота, 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).


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

Автор сайта.


 

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

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