Рейтинг

  • Страница 2 из 2
  • «
  • 1
  • 2

Будет ли работать такой синтаксис?
[21] XDominator [15 Августа 2014, 18:18]
Это не ошибка, в 1с например такой синтаксис, там = и == равнозначны, и в условиях используется =, так же как и в game maker, в разделе которого мы как бы и разговариваем.
[22] миха [15 Августа 2014, 18:35]
Folleah, я прекрасно знаю как все это правильно пишется, можешь не сомневаться. Что такого в том, что мне стало интересно, есть ли другие варианты? Я ведь просто попробовал проверить и спросил на форуме, я ведь не воткнул это в проект и не удивляюсь, почему оно не работает.
[23] Folleah [15 Августа 2014, 18:35]
Цитата XDominator ()
Это не ошибка, в 1с например такой синтаксис, там = и == равнозначны, и в условиях используется =, так же как и в game maker, в разделе которого мы как бы и разговариваем.

Умничка, почитай справку по GML.

Цитата миха ()
Folleah, я прекрасно знаю как все это правильно пишется, можешь не сомневаться. Что такого в том, что мне стало интересно, есть ли другие варианты? Я ведь просто попробовал проверить и спросил на форуме, я ведь не воткнул это в проект и не удивляюсь, почему оно не работает.

А я тебе только объяснил, почему разработчики ЯП не сделали такого сокращения. Врубай алгоритмизацию и логику, когда работаешь.


Сообщение отредактировал Folleah - Пятница, 15 Августа 2014, 18:37
[24] WhoAmI [28 Августа 2014, 12:48]
Компилятор и так больной, ты его хочешь совсем свести сума)
Код

a = 2;
o = 3;
if(a == 2 && o = 1)

Аналогично:
Код

if(1 && 0)

И в результате возвращается true. Но что это:
Код

if(23 || 3)

Оператор ||, работает только с "1" и "0"(или true и false). А ты туда пихаешь цифры.
И вообще любой логический оператор работает только с булевыми переменными.
Код

int c =2;
int b = 2;
bool a = c == b;

a = 1, в результате.

Есть оператор "|", но это уже бинарный оператор, т.е. сравнение на битовом уровне.

Добавлено (28.08.2014, 12:48)
---------------------------------------------
XDominator, = и == не могут быть равнозначны.
Код

a = b = c; //a и b принимают значение c
a = b == c; //a принимает true или false;

Не путайте логические операторы, ей богу...


Сообщение отредактировал WhoAmI - Четверг, 28 Августа 2014, 12:52
[25] XDominator [28 Августа 2014, 13:45]
в gamemaker эти две строки:

Код

a = b = c; //a и b принимают значение c  
a = b == c; //a принимает true или false;


Равнозначны. Аналогично в 1с. В обоих случаях а примет true, т.к. компилятор использует вариант применения оператора "=" по своему усмотрению. В С++ будет так как ты указал в комментариях. В гамаке нельзя создать по ошибке багнутую конструкцию while (a = 0), которая в с++ при любом раскладе отработает лишь один цикл. В гамаке она аналогична while (a == 0).
[26] -l33t-h4xx- [28 Августа 2014, 14:30]
Цитата XDominator ()
Не слушай их. Эксперименты это всегда хорошо.

С другой стороны, эксперименты с тем или иным языком имеют смысл только в рамках языка. Если я захочу в С list comprehension и буду долбать форумы таким куском кода:
Код
int a[] = {n: n <- 1..10; n % 2};

будет этот эксперимент умным или не очень? Похвалишь ли ты меня за смелость, в то время как другие будут крутить пальцем у виска?



Сообщение отредактировал -l33t-h4xx- - Четверг, 28 Августа 2014, 14:40
[27] WhoAmI [28 Августа 2014, 23:22]
XDominator, и вправду.
Компилятор GM сила сатаны. Он делает всё как захочет и ему наплевать на волю кодера.
Хотя я гамак люблю для создания маленьких 2D игр.

  • Страница 2 из 2
  • «
  • 1
  • 2