Нужна ли независимая проверка продуктов Фриланса? - страница 25

 
C-4:

О, ну да. Просто не врубился в код посмотреть:)

Тогда уж GetTickCount вместо TimeLocal.

Но на скорость в своей реализации не претендую. Понятно, что строковые функции медленные. Если планируется вызывать функцию 50 миллионов раз - код придется подправить. 

Оператор switch быстрее варианта  массивами в 10 раз, но при этом по размеру кода больше ...  Массивы в топку...
 
C-4:

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

Первый (уже второй) вызвался к расстрельной стенке, кхе-кхе:)))

В общем, что у нас получается. Тело функции, имеет водные параметры  периода. Далее установка массива, потом идет непонятная операция с массивом звучит она буквально так, если не новое значение массива results []  то выход? со значением 0 NULL. Далее основная операция функции, обратим внимание StringSplit(EnumToString(timeframe), '_', results); возвращает извлекаемого значения происходит в никуда, ни в массив, ни в переменную. И завершение return возвращает значение массива который с неизвестным значением в котором снова происходит изменение размера, без значения и что он должен вернуть кроме 0 NULL ничего. Оценка 5 Крутой код теперь понятно почему все мастера такие стеснительные
 
Alexey:
В общем, что у нас получается. Тело функции, имеет водные параметры  периода. Далее установка массива, потом идет непонятная операция с массивом звучит она буквально так, если не новое значение массива results []  то выход? со значением 0 NULL. Далее основная операция функции, обратим внимание StringSplit(EnumToString(timeframe), '_', results); возвращает извлекаемого значения происходит в никуда, ни в массив, ни в переменную. И завершение return возвращает значение массива который с неизвестным значением в котором снова происходит изменение размера, без значения и что он должен вернуть кроме 0 NULL ничего. Оценка 5 Крутой код теперь понятно почему все мастера такие стеснительны


Если Вы не поняли код, это не значит что он не работает...

 
C-4:

 Первый (уже третий) вызвался к расстрельной стенке, кхе-кхе:)))

Честно говоря, вас самого за такой код к стенке первым.
 
C-4:

Но на скорость в своей реализации не претендую. Понятно, что строковые функции медленные. Если планируется вызывать функцию 50 миллионов раз - код придется подправить.

Просто у вашего варианта нет никаких преимуществ перед кондовым свичем, а в простоте он сильно проигрывает. Это как раз в тему о хорошем стиле

 

Wahoo:

 Я подредактировал свой пост.

Добавил:

P.S. соответсвующее тем реалиям.

Неужели else и return в тех реалиях тоже отсутствовали?

 
Alexey:
В общем, что у нас получается. Тело функции, имеет водные параметры  периода. Далее установка массива, потом идет непонятная операция с массивом звучит она буквально так, если не новое значение массива results []  то выход? со значением 0 NULL. Далее основная операция функции, обратим внимание StringSplit(EnumToString(timeframe), '_', results); возвращает извлекаемого значения происходит в никуда, ни в массив, ни в переменную. И завершение return возвращает значение массива который с неизвестным значением в котором снова происходит изменение размера, без значения и что он должен вернуть кроме 0 NULL ничего. Оценка 5 Крутой код теперь понятно почему все мастера такие стеснительные
Во обще то вы не правы ... StringSplit(EnumToString(timeframe), '_', results); строка разбивается на 2 части так как '_' символ в строке один (PERIOD_M1), затем эти две строки засовываются в массив, и ретурном возвращается ячейка массива под номером 1 то бишь М1 , М5 , М15 , логически ошибки нет ...
 
f2011:

Просто у вашего варианта нет никаких преимуществ перед кондовым свичем, а в простоте он сильно проигрывает. Это как раз в тему о хорошем стиле

 

Неужели else и return в тех реалиях тоже отсутствовали?

Предложите полное решение без switch и enum. Его и обсудим.
 
Alexey:
В общем, что у нас получается. Тело функции, имеет водные параметры  периода. Далее установка массива, потом идет непонятная операция с массивом звучит она буквально так, если не новое значение массива results []  то выход? со значением 0 NULL. Далее основная операция функции, обратим внимание StringSplit(EnumToString(timeframe), '_', results); возвращает извлекаемого значения происходит в никуда, ни в массив, ни в переменную. И завершение return возвращает значение массива который с неизвестным значением в котором снова происходит изменение размера, без значения и что он должен вернуть кроме 0 NULL ничего. Оценка 5 Крутой код теперь понятно почему все мастера такие стеснительные
Тема окупает свой попкорн :)
 
f2011:
Тема окупает свой попкорн :)
уже давно :)
 
Wahoo:
Предложите полное решение без switch и enum. Его и обсудим.
switch был жеж в MQL4
Причина обращения: