Вопрос по учебнику Сергея Ковалёва

 

Решил освоить использование глобальных переменных. При чтении раздела учебника по глобальным переменным возник вопрос. Из учебника: " GV-переменная может иметь только тип double".

Далее приводится пример эксперта, использующего GV-переменные. В коде видим, что количество экспертов int Experts, хранящееся в глобальной переменной определено, как целое. Я предположил, что это противоречие следует понимать так: в переменной типа double хранить переменную типа int можно, а наоборот нельзя.

Наверно для профессионала это азбучная истина, а вот для новичка это кажется противоречием. Правильно ли моё предположение?

 
Нет, в глобальных переменных хранится только тип double, но можно произвести неявное преобразование типов, присвоив переменной типа int значение типа double. И наоборот.
 
Rosh писал (а) >>
Нет, в глобальных переменных хранится только тип double, но можно произвести неявное преобразование типов, присвоив переменной типа int значение типа double. И наоборот.

Спасибо. Значит выражение " в глобальных переменных хранится только тип double" следует понимать так, что в глобальной переменной можно хранить переменные имеющие различный тип, но при помещении их в глобальную переменную, которая всегда имеет только тип double, их значение автоматически принимает тип double?

 
khorosh писал (а) >>

Спасибо. Значит выражение " в глобальных переменных хранится только тип double" следует понимать так, что в глобальной переменной можно хранить переменные имеющие различный тип, но при помещении их в глобальную переменную, которая всегда имеет только тип double, их значение автоматически принимает тип double?

да - кроме текста



вполне можно


double

datetime

int

 
YuraZ писал (а) >>

да - кроме текста



вполне можно


double

datetime

int


Спасибо!

 
khorosh писал (а) >>

Спасибо. Значит выражение " в глобальных переменных хранится только тип double" следует понимать так, что в глобальной переменной можно хранить переменные имеющие различный тип, но при помещении их в глобальную переменную, которая всегда имеет только тип double, их значение автоматически принимает тип double?

Отстаю от жизни..

Но за Rosh-ем разве успеешь? .. если он отвечает через 2 минуты после опубликования вопроса..

--

По существу.

Не путайте глобальные переменные и глобальные переменные клиентского терминала. У них разные свойства и сущность.

Глобальная переменная - это такая, значение которой доступно из всех функций. Это типа полковника. К нему можно обратиться из любой роты (функции), находящейся в расположении воинской части (всей программы).

Глобальная переменная является глобальной по принципу, что к ней можно обратиться (типа, увидеть в бинокль). А сама эта переменная может быть разных типов - целая, действительная, строковая и т.д. (типа, полковник может быть пехотинцем, десантником или морским)

Локальная - это такая переменная, значение которой доступно только в пределах функции. Она тоже может быть целой, действительной, логической и пр. Это такой.. типа сержант. Он крутится только в пределах своей роты (функции).. и не может ничего сказать в соседнюю роту (в соседнюю казарму). Но в пределах казармы своей роты легко общается со всеми.

Глобальная переменная клиентского терминала - это такая переменная, значение которой можно запросить из любой части программы и из других программ.

Это такой вольнонаёмник, который как бы не принадлежит ни к какой воинской части, причём всегда только пехотинец (double). Ну, вот такие у этого вояки свойства. Но пообщаться с ним можно откуда угодно - можно из функции (роты), можно из программы (воинской части), а можно и из другой программы и вообще любой программы, запущенной в пределах терминала (типа, в пределах всего министерства обороны). Типа, может прийти на помощь всем, но при этом может только бегать и стрелять(double), а плавать(int) и прыгать с парашютом (string) не умеет.

 

Устав MQL4 РФ от 2008г. ;)))

-

Всё верно... и по своему опыту могу сказать что:

насколько сложными ГПкт казались до изучения,

настолько простыми они стали после...

-

Если память не отшибает, то по ГПкт был единственный вопрос

по обновлению переменной на выходных, точнее НЕобновлению

их во время отсутствия торгов (котировок) ...

 
SK. писал (а) >>

Отстаю от жизни..

Но за Rosh-ем разве успеешь? .. если он отвечает через 2 минуты после опубликования вопроса..

--

По существу.

Не путайте глобальные переменные и глобальные переменные клиентского терминала. У них разные свойства и сущность.

Глобальная переменная - это такая, значение которой доступно из всех функций. Это типа полковника. К нему можно обратиться из любой роты (функции), находящейся в расположении воинской части (всей программы).

Глобальная переменная является глобальной по принципу, что к ней можно обратиться (типа, увидеть в бинокль). А сама эта переменная может быть разных типов - целая, действительная, строковая и т.д. (типа, полковник может быть пехотинцем, десантником или морским)

Локальная - это такая переменная, значение которой доступно только в пределах функции. Она тоже может быть целой, действительной, логической и пр. Это такой.. типа сержант. Он крутится только в пределах своей роты (функции).. и не может ничего сказать в соседнюю роту (в соседнюю казарму). Но в пределах казармы своей роты легко общается со всеми.

Глобальная переменная клиентского терминала - это такая переменная, значение которой можно запросить из любой части программы и из других программ.

Это такой вольнонаёмник, который как бы не принадлежит ни к какой воинской части, причём всегда только пехотинец (double). Ну, вот такие у этого вояки свойства. Но пообщаться с ним можно откуда угодно - можно из функции (роты), можно из программы (воинской части), а можно и из другой программы и вообще любой программы, запущенной в пределах терминала (типа, в пределах всего министерства обороны). Типа, может прийти на помощь всем, но при этом может только бегать и стрелять(double), а плавать(int) и прыгать с парашютом (string) не умеет.

Спасибо. Только я бы предпочёл ответ на мой вопрос да или нет. А если нет пояснить почему. А чем отличается глобальная переменная от глобальной переменной терминала везде хорошо объяснено и у меня такого вопроса не возникало.

 
khorosh тут многие читают. Мне очень понравилась трактовка. Хорошая такая правильная :-) нигде такой не встречал. Все просто и доходчиво, для таких как я тупых военных как раз ). Прочел сижу улыбаюсь. SK. спасибо день начался хорошо.
 
khorosh писал (а) >>

Только я бы предпочёл ответ на мой вопрос да или нет.

Можно присваивать глобальной переменной значение из любой переменной кроме string. И наоборот тоже можно - в любую переменную из глобальной. Только если в глобальной переменной не целое число, а его присваивать переменной int, то дробная часть потеряется.

 
Integer писал (а) >>

Можно присваивать глобальной переменной значение из любой переменной кроме string. И наоборот тоже можно - в любую переменную из глобальной. Только если в глобальной переменной не целое число, а его присваивать переменной int, то дробная часть потеряется.

Спасибо. Всё понятно.

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