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

 
VOLDEMAR:

В 0 принимается PERIOD в 1 принимается M1, размер массива 2, поэтому что бы получить то что находится в массиве под 1 делаем

иначе 2-1=1


Ваш пример понимается как results[1] results[2] - results[1]= results[1] то есть пустая трата времени и денег, когда можно было просто сразу сделать results[1]=значение

 
Alexey:

Ваш пример понимается как results[1] results[2] - results[1]= results[1] то есть пустая трата времени и денег, когда можно было просто сразу сделать results[1]=значение

все очень запущенно...
 
C-4:

Можно так:

 Какая разница. Код все равно будет работать.

Народ я че один буду отдуваться ?? Или Вы попкорн жрете и на до мной глумитесь ?

Вы устанавливаете размер массива, измерения считаются 0,1,2,3  тут их 4

if(!ArrayResize(results,1))

при таком увеличении мы получаем массив только с измерением 0 а нам надо 2 измерения 0 и 1 поэтому делаем

if(!ArrayResize(results,2))
 
Wahoo:
все очень запущенно...

Я умываю руки ...  Кто возьмется за ПАЦИЕНТА ?

Конечно если ПАЦИЕНТ желает поправиться...

 
VOLDEMAR:

Народ я че один буду отдуваться ?? Или Вы попкорн жрете и на до мной глумитесь ?

Вы устанавливаете размер массива, измерения считаются 0,1,2,3  тут их 4

при таком увеличении мы получаем массив только с измерением 0 а нам надо 2 измерения 0 и 1 поэтому делаем

StringSplit само ресайзит массив в который помещаются данные. Поэтому, то что было до этого не важно...
 
C-4:

Можно так:

 Какая разница. Код все равно будет работать.

С другой стороны вы работаете не с тиковыми данными, а с идентификаторами и константами, зачем массив и столь сложное издевательство над ним.

По вашему решению от перемены мест слагаемых сумма не меняется.

 
Wahoo:
StringSplit само ресайзит массив в который помещаются данные. Поэтому то что было до этого не важно...

Я правильно Вас понял ?

return results[StringSplit(EnumToString(timeframe), '_', results)-1];
 
VOLDEMAR:

Я правильно Вас понял ?

Надо попробовать. Но логика вроде верна.
 
VOLDEMAR:

Я правильно Вас понял ?

Да, такой вариант более жизне деятелен, не желе предыдущий у меня нет компилятора, чтоб проверить но уже виден результат по самой строке
 
Wahoo:
StringSplit само ресайзит массив в который помещаются данные. Поэтому, то что было до этого не важно...

Именно так.

Добавлю что вначале массив объявляется безрамерным или динамическим, что бы функция StringSplit в случае необходимости сама определила нужный ей размер.

Затем делается резайц if(!ArrayResize(results,2)) Это тоже не случайно. После удачного ресайца я гарантировано могу обратиться к results[ArraySize(results)-1], т.к. знаю что массив содержит по крайней мере 2 элемента (если делать ArrayResize(results,1) - тоже покатит). Значит лишние проверки уже не нужны.  К томуже функция StringSplit тоже не идиотка, внутри себя она не будет резайцить массив, если его размер подходящий. Более того, на своем уровне я знаю, что скорее всего подэлемента будет два, это "PERIOD" и оставшиеся буквы таймфрема. Я предугадываю конечный размер массива еще на этапе первого резайца, и при граммотной реализации Resize это может сэкономить время.

Есть еще несколько тонкостей. 

Причина обращения: