вопросы: - страница 2

 

Спасибо всем, а Ув SK хочу сказать - ирония тут не к чему ...

... когда студент смотрит как первокласник некак неможет понять почему 2х2=4, тогда ему тоже кажется что тот совсем глупый и умственно отсталый, но на самом деле не всегда так. Мне кажется беда в другом. Человек состовляющий учебник неможет опустится до уровня первокласника и даже недогадывается что он непонимает. Например мне очень долгое время было совсем непонятно что значит "возвращает" - почему и откуда она возвращает... ? я же нечего никуда отсылал..? Это я не мог понять от учебников очень долгое время - до тех пор пока не побеседовал с человеком который работает програмистом - поговорили 2 минуты и все стало ясно - просто он мне обяснил другими словами... что програмисты не говорят вычисляет а говорят возвращает - все стало на свои места :)

..но почему они так говорят это всеровно не понял :DD
Успехов!

 
sasa999:

..но почему они так говорят это всеровно не понял :DD

Наверное, поэтому ;)
 
sasa999:

Спасибо всем, а Ув SK хочу сказать - ирония тут не к чему ...

... когда студент смотрит как первокласник некак неможет понять почему 2х2=4, тогда ему тоже кажется что тот совсем глупый и умственно отсталый, но на самом деле не всегда так. Мне кажется беда в другом. Человек состовляющий учебник неможет опустится до уровня первокласника и даже недогадывается что он непонимает. Например мне очень долгое время было совсем непонятно что значит "возвращает" - почему и откуда она возвращает... ? я же нечего никуда отсылал..? Это я не мог понять от учебников очень долгое время - до тех пор пока не побеседовал с человеком который работает програмистом - поговорили 2 минуты и все стало ясно - просто он мне обяснил другими словами... что програмисты не говорят вычисляет а говорят возвращает - все стало на свои места :)

..но почему они так говорят это всеровно не понял :DD
Успехов!


И все же "вычисляет" и "возвращает" это разные вещи. Сначала функция вычисляет, а потом возвращает результаты вычислений. Функция может возвращать даже если ничего не вычисляла.

Почему так говорят - вызываешь функцию, передаешь ей аргументы (параметры), она делает вычисления и дает (возвращает) ответ.

 

подумал и понял что ничего не понял ... :(

про return...
в каких лучаях нужно возвращать 0, и кoму этот 0 нужен. Почему вместо return(0) нельзя писать return ?

пример пустоы шаблон, но также и в RSI, OsMA, в стандартном MACD эксперте итд... если можно писать так и так, то почему писать больше ..?

//+------------------------------------------------------------------+
//|                                                00_ReturnTest.mq4 |
//|                      Copyright © 2008, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2008, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"
 
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
 

Во первых это признак хорошего тона при написании кода для последующего разбора, собственно как и венгерская нотация при объявлении переменных.

А теперь обратите внимание :

int start()
  {
//----
   return(0);
  }

Функция объявлена как возвращающая некое целочисленно значение, если Вы не вернете вычисленное значение это будет ошибка.

void FunctionForTest()
  {
//----
   return;
  }

Функция объявлена как не возвращающая никакое значение, в этом случае можно писать сокращенный вариант.

Во многих языках есть алиасы и сокращенные варианты вызова функций : как пример msgbox() = messagebox()

А вообще предварительно прочтите несколько книг для начинающих по разным языкам программирования. При сопоставлении многие вопросы сами отпадут.

 
С return(0)/return трудности человеческого характера.
которые очень трудно понять (опять же по человечески) - почему в одних случаях MQL-4 тихий и ласковый,
например, позволяет писать и return return(0) return(qwest) и просто ничего можно не писать,
даже если это функции возвращающие значение)))
НО в других случаях MQL-4 очень жесткий, мутно описАнный и слегка покоцанный, дает ошибки без предупреждения,
преобразования типов без контроля и т.д. Т.е. уровень достопамятных 60-х гг. (например нормализация float)
А Народ то уже привык к сервису и дружелюбию.
Поэтому совет: снизить личные ожидания, не думать что это Си, а работать как со специализированным языком лишь отдаленно похожим на Си.
Изучать MQL-4 как специализированный язык.
 
sasa999:

Спасибо всем, а Ув SK хочу сказать - ирония тут не к чему ...

... когда студент смотрит как первокласник некак неможет понять почему 2х2=4, тогда ему тоже кажется что тот совсем глупый и умственно отсталый, но на самом деле не всегда так. Мне кажется беда в другом. Человек состовляющий учебник неможет опустится до уровня первокласника и даже недогадывается что он непонимает. Например мне очень долгое время было совсем непонятно что значит "возвращает" - почему и откуда она возвращает... ? я же нечего никуда отсылал..? Это я не мог понять от учебников очень долгое время - до тех пор пока не побеседовал с человеком который работает програмистом - поговорили 2 минуты и все стало ясно - просто он мне обяснил другими словами... что програмисты не говорят вычисляет а говорят возвращает - все стало на свои места :)

..но почему они так говорят это всеровно не понял :DD
Успехов!


Да какая ирония? Всё гораздо хуже.

Посудите сами. На форуме есть поиск (вверху справа). Любой желающий может ввести слово "возвращает" и получить список ссылок на различные источники данных (в том числе, Учебник, Статьи, Документация), где упуминается это слово. Вот:

В частности, под номером 12 есть ссылка на один из разделов Учебника, в котором подробно рассказывается что такое "возвращает", зачем это нужно и как используется.

Когда "студент смотрит как первокласник некак неможет понять почему 2х2=4", то он должен не вибрировать на грани своей капризности, не разбрызгивать слюни по всему инету, а работать, чтобы узнать.

А студент вместо этого хнычет, как желторотик: "Я ничего не знаю, ничего не умею, я несчастный и обиженный. А вы все плохие и злые, потому что я хочу, а мне нету, я хочу, а вы мне не даёте".

-----------------------

На эту тему написано немало. Беда в том, что вся вот эта блевотина - это Ваш образ жизни, Ваше мировосприятие. Осознанность просто нулевая. Выражаясь языком современной молодёжи, "ниже плинтуса". Вы говорите, что читали Учебник несколько раз, а это не соответствует истине, проще говоря - враньё. Причём, судя по всему, Вы этого даже не замечаете. Ведь одно дело читать, изучать, вникать, работать, а другое дело - ткнуть в первую попавшуюся страницу, а там нету того, что надо, значит, плохой учебник и все гады.. Потому, что я хочу, а мне нету..

А ссылки вот. Там и про return и про "возвращает". И все из Учебника. И ещё больше 1000 по сайту.

Учебник по MQL4 Операторы Описание функции и оператор return .

Учебник по MQL4 Операторы Вызов функции .

Учебник по MQL4 Основы языка Функции .

Мой Вам непрошенный совет: в течение ближайшего месяца, а может и года, всё своё свободное время уделите простому делу:
повторяйте 100 раз в день: "Я хочу, значит я должен...". Пока не врубится в память настолько, что вытеснит любое другое отношение к делу. Тогда у Вас будет шанс чего-то добиться в этой жизни.

 
Korey:Изучать MQL-4 как специализированный язык.
Это стоит применять во всем языкам. Сколько есть мутаций только VB? У каждого есть свой диалект.
 
После удобности и всепрощения VB в MQL-4 одни ломы.
Отсюда и вопрос автора ветки sasa999, типа "а чё это вы так осторожно пишете, А?"
Всё к тому, что не надо искать в MQL-4 каких либо удобств и прозрачности, тогда все будет в порядке.
 

люди разные - добрые, злые, нервные... ;)

зачем воoбше нужен return в упомянутых примерах, если допускается отсутствие оператора return? и так и так функция завершит свою работу? И если это только "признак хорошего тона", то почему он return(0), как будто кoму то этот 0 нужен, а не просто return.

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