Скачать MetaTrader 5

Вопросы по написанию программ от новичка к профессионалам - страница 3

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Vasiliy Sokolov
24187
Vasiliy Sokolov  
TheXpert:

Октава:

Возвращает 2 значения. Некоторые вещи удобны настолько, что потом не представляешь, как без них обходиться.
C#:
public double[] Return2Values(double a1=1.0, double a2=3.0)
{
   double[] array_values = new double[2]();
   array_values[0] = a1;
   array_values[1] = a2;
   return array_values;
}
Т.е. проблема возврата множества параметров всегда может и должна решатся за счет инкапсуляции параметров в подходящий объект (в данном случае в простой массив). В тоже время поддерживается строгая типизация данных. Невозможность писать херню типа function [J, grad] = costFunction(theta, X, y) продиктована именно этим. Когда проект достигает десятки тысяч строк, любое "расползание" переменных становится критичным.
Vasiliy Sokolov
24187
Vasiliy Sokolov  
jartmailru:
Функции фнутри функции есть и в пхп.
Можно конкретный пример, когда это чертовски удобно и необходимо? Много лет жил без функций внутри функции - а тут вдруг есть такое чудо.
Karakos Moql
44
Karakos Moql  
Вот это дискуссия образовалась. Сейчас спор идет о том бывает ли функция внутри функции, но по моему у меня в коде такого нет. Моя ошибка в том, что я хотел передать из функции несколько значений, сейчас мне это понятно, но конкретно я бы хотел узнать какого типа должна быть подобная функция, которая передает переменную содержащую команду на открытие ордера и как эту переменную объявить в советнике, что бы при ее объявлении открылся ордер.
Dmitry Fedoseev
44541
Dmitry Fedoseev  
Experto:
Вот это дискуссия образовалась. Сейчас спор идет о том бывает ли функция внутри функции, но по моему у меня в коде такого нет. Моя ошибка в том, что я хотел передать из функции несколько значений, сейчас мне это понятно, но конкретно я бы хотел узнать какого типа должна быть подобная функция, которая передает переменную содержащую команду на открытие ордера и как эту переменную объявить в советнике, что бы при ее объявлении открылся ордер.

Функцию надо написать, в функцию эту строку, потом функцию вызывать.
Dmitry Fedoseev
44541
Dmitry Fedoseev  
Experto:
...хотел передать из функции несколько значений...


Это тоже можно, только другим боком - через параметры по ссылке.

void Func(int arg1,int arg2,int & ret1, int & ret2)

arg1, arg2 - аргументы

ret1, ret2 - возвращаемые переменные

Vadim Zhunko
5226
Vadim Zhunko  
Experto:

Спасибо всем за советы, буду дальше изучать и изучать.

По поводу отдельной темы для новичков, то это просто ужас - 190 страниц сообщений, попробуй там найти что то дельное, а поиск по сайту не всегда дает адекватные результаты. И нет никакой уверенности что на твой вопрос ответят и он не затеряется за рядом более новых вопросов. Хотя такова структура самого форума - нет ни разделов ни подразделов, одни сплошные темы, для чего тогда форум вообще создавался? - что бы профи могли общаться между собой, а новички, которые так и хотят "гадить (спамить) "грустными" темами..." должны в одной теме толпиться?

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

Еще раз всем спасибо, до свидания.

Та тема не для поисков в ней, а для текущих вопросов и быстрых ответов на них.
Комбинатор
16180
Комбинатор  
Integer:

На JavaScript:

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

C-4:

Как понимаю, совет дан исходя из богатого личного опыта?

Угу. Не верите, что богатый?
123
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий