Разница между extern и input

 
Привет всем! Документацию прочитал, но разницы как таковой не увидел... а она вообще есть?
 
Maksim Neimerik:
Привет всем! Документацию прочитал, но разницы как таковой не увидел... а она вообще есть?

Ну как же нету разницы-то, невооружённым взглядом видно, а если почитать, то совсем:

input

extern

Читайте, сравнивайте.

Документация по MQL5: Основы языка / Переменные / Input переменные
Документация по MQL5: Основы языка / Переменные / Input переменные
  • www.mql5.com
указывается перед типом данных. Изменять значение переменной с модификатором input внутри mql5-программы нельзя, такие переменные доступны только для чтения. Изменять значения input-переменных может только пользователь из окна свойств программы. Внешние переменные всегда переинициализируются непосредственно перед вызовом OnInit().   Существует...
 
Artyom Trishkin:

Ну как же нету разницы-то, невооружённым взглядом видно, а если почитать, то совсем:

input

extern

Читайте, сравнивайте.

Прочитал про extern, просто потрясающе, на каком нечеловеческом языке МК стали писать справку.

 
Dmitry Fedoseev:

Прочитал про extern, просто потрясающе, на каком нечеловеческом языке МК стали писать справку.

вся справка написана на не человеческом языке,, эта справка подразумевает что вы уже знакомы с основными принципами программирования,

 если даже вы в недоумении от нее, то 

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

 
Fast235:

вся справка написана на не человеческом языке,, эта справка подразумевает что вы уже знакомы с основными принципами программирования,  если даже вы в недоумении от нее, то 

А тем кто не знаком с основными принципами любого языка программирования надо читать что-то "для чайников" или идти на курсы.

 
Dmitry Fedoseev:

Прочитал про extern, просто потрясающе, на каком нечеловеческом языке МК стали писать справку.

Ну про input всё понятно. Про extern - там, как по мне, то сначала можно объявлять переменные с одним и тем же типом и идентификатором в разных файлах, подключаемых к проекту, а потом - оказывается нельзя их так объявлять. Тут конечно трёхэтажный импрессионизм...

 
Alexey Viktorov:

А тем кто не знаком с основными принципами любого языка программирования надо читать что-то "для чайников" или идти на курсы.

сходить на курсы С и потом обратиться к mql, я уже прошел через это, но осадок остался, не очень хорошее отношение к пользователям у mq

 
Maksim Neimerik:
Привет всем! Документацию прочитал, но разницы как таковой не увидел... а она вообще есть?

есть:
1) extern работает только в mql4.
2) комментарии после input будут отображаться во входных параметрах вместо названия входной переменной
input int ma_period = 20; 
 - будет написано "ma_period"
input int ma_period = 20; // период МА
 - будет написано "период МА"
в mql4 чтобы было именно так нужен режим строгой компиляции #property strict
с extern такого "фокуса" нет.
3) переменные extern можно менять в коде как и любые глобальные переменные, input нельзя.

Изначально был только mql4 и extern, никакого input не было. как и ООП в mql4.
Далее сделали mql5, в нем сразу сделали input, так как mql5 в целом был ориентирован именно на ООП.
года 2-3 назад в mql4 сделали апгрейд, добавив много фишек из mql5, в том числе и input.

 
Согласен с предыдущими ораторами) а можно как-то на пальцах объяснить в чем разница? Будьте добры! Ну не всегда можно понять справку...
 
Fast235:

сходить на курсы С и потом обратиться к mql, я уже прошел через это, но осадок остался, не очень хорошее отношение к пользователям у mq

Ну не знаю. Для меня вся документация понятна. Если где-то появляются затруднения, то после некоторых экспериментов они пропадают.

А вот если я никак не знаком с побитовым операциями, то хоть обчитайся любых статей... я ничего с них не пойму. Равно как и о флагах и наборах флагов ничего не мог понять пока Артём мне голосом не объяснил что это такое.

 
Alena Lysenkova:

есть:
1) extern работает только в mql4.
2) комментарии после input будут отображаться во входных параметрах вместо названия входной переменной
input int ma_period = 20; 
 - будет написано "ma_period"
input int ma_period = 20; // период МА
 - будет написано "период МА"
в mql4 чтобы было именно так нужен режим строгой компиляции #property strict
3) переменные extern можно менять в коде как и любые глобальные переменные, input нельзя.

Вот, ну можно же! Спасибо Алена!

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