Скачать MetaTrader 5

Изменить имя переменной

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Торгуй как успешные трейдеры - подпишись на их сигналы!
Lev Ilyukov
1462
Lev Ilyukov 2012.09.08 18:08 

Например есть три переменные X, Y, и Z

И есть операция присваивания переменной A = X

Вопрос. Возможно ли на ходу менять имя переменной? Как например при операциях со string переменными? Тоесть необходимо например сделать так, чтобы выражение A = X поменялось допустим на A = Z при исполнении кода.

Я понимаю что можно организовать это несколькими другими способами и присваивать A любую из трёх X Y Z переменных, но всёже возможно есть тот способ о котором я написал выше? 

Документация по MQL5: Основы языка / Операции и выражения / Операции присваивания
Документация по MQL5: Основы языка / Операции и выражения / Операции присваивания
  • www.mql5.com
Основы языка / Операции и выражения / Операции присваивания - Документация по MQL5
Дмитрий Александрович
1705
Дмитрий Александрович 2012.09.08 18:51  
lordlev:

Например есть три переменные X, Y, и Z

И есть операция присваивания переменной A = X

Вопрос. Возможно ли на ходу менять имя переменной? Как например при операциях со string переменными? Тоесть необходимо например сделать так, чтобы выражение A = X поменялось допустим на A = Z при исполнении кода.

Я понимаю что можно организовать это несколькими другими способами и присваивать A любую из трёх X Y Z переменных, но всёже возможно есть тот способ о котором я написал выше? 

Ну на крайний случай T = X или Y или Z, A = T
alxm
103
alxm 2012.09.08 21:31  
lordlev:

Вопрос. Возможно ли на ходу менять имя переменной? Как например при операциях со string переменными? Тоесть необходимо например сделать так, чтобы выражение A = X поменялось допустим на A = Z при исполнении кода.

А разве при работе с переменными типа string можно на ходу менять имя переменной?
IgorM М
4801
IgorM М 2012.09.09 07:48  

опишите класс/структуру в которой будут поля: name и int и при инициализации такой переменной заполняйте поле name

ЗЫ: погуглил данный вопрос,  даже не подозревал, что эта тема будоражит умы на разных языках программирования )))))))

ЗЫЗЫ: подозреваю, что на подходе вопрос: как изменить тип переменной )))))

Nikolay Demko
12462
Nikolay Demko 2012.09.09 10:04  
lordlev:

Например есть три переменные X, Y, и Z

И есть операция присваивания переменной A = X

Вопрос. Возможно ли на ходу менять имя переменной? Как например при операциях со string переменными? Тоесть необходимо например сделать так, чтобы выражение A = X поменялось допустим на A = Z при исполнении кода.

Я понимаю что можно организовать это несколькими другими способами и присваивать A любую из трёх X Y Z переменных, но всёже возможно есть тот способ о котором я написал выше? 

В вопросе упущен главный момент на который нужно акцентироваться...

А именно при каком условии должно быть A = X, и при каком условии должно быть A = Z ??

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

А с этим условием задача сводится к банальному if.

if(условие1)
  {
   A=X;
  }
else
  {
   if(условие2)
     {
      A=Z;
     }
  }


Yedelkin
4532
Yedelkin 2012.09.09 10:19  
Urain:

В вопросе упущен главный момент на который нужно акцентироваться...

А именно при каком условии должно быть A = X, и при каком условии должно быть A = Z ??

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

А с этим условием задача сводится к банальному if.

  Да автор хочет само имя переменной поменять. Типа: как в выражении а=var1; поменять имя 'var1' на имя  'var2'?
Vladislav Andruschenko
91615
Vladislav Andruschenko 2012.09.09 10:27  
Yedelkin:
  Да автор хочет само имя переменной поменять. Типа: как в выражении а=var1; поменять имя 'var1' на имя  'var2'?

может быть наоборот? 

автор мечтает  поменять a на b ?

ведь а у нас переменная а  var1 = выражение.


 

 

Yedelkin
4532
Yedelkin 2012.09.09 10:40  
Vladon: ... ведь а у нас переменная а  var1 = выражение.

 Ловите:

int a;
int var1; //var1 - переменная
a=var1;   //два операнда и символ операции, а именно: 'a=var1', представляют собой выражение. 
          //При наличии точки с запятой можете называть это выражение также  оператором.

 

Vladislav Andruschenko
91615
Vladislav Andruschenko 2012.09.09 11:06  
Yedelkin:

 Ловите:

 

словил, но я о другом. 
Yedelkin
4532
Yedelkin 2012.09.09 11:16  

Vladon:

Vladon:

ведь а у нас переменная а  var1 = выражение.


словил, но я о другом. 
 А я - о том, что в строчке 'а=var1;' набор из четырёх символов 'var1' является не выражением, как Вы предположили, а переменной.
IgorM М
4801
IgorM М 2012.09.09 12:14  
Yedelkin: А я - о том, что в строчке 'а=var1;' набор из четырёх символов 'var1' является не выражением, как Вы предположили, а переменной.

я тоже так понял первый пост, но тут по видимому игра слов: имя переменной = переименовать, а по сути бред полный, т.к. имя переменной = Идентифика́тор, ID (англ. data name, identifier — опознаватель) — уникальный признак объекта, позволяющий различать его с другими объектами. (википедия). 

кактотак, если не углубляться в ассемблер и машинное представление данных 

123
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий