Будет ли работать такой синтаксис?
|
|
миха | Дата: Четверг, 14 Августа 2014, 19:41 | Сообщение # 1 |
почти ветеран
Сейчас нет на сайте
| В общем просто интересно, будет ли гм кушать такой синтаксис, мои личные тесты показали, что как то не особо, или я чего-то недопонял...
Цитата do { код; } until (!place_free(ax,ay)||point_distance(ax,ay,obj_lol.x,obj_lol.y)>24) Цитата with obj_AAA&&obj_BBB { код; } Цитата switch (var) { case 1..6: код; case 7..67: код; } Цитата if var=3||5||10 код;
Сообщение отредактировал миха - Четверг, 14 Августа 2014, 19:44 |
|
| |
XDominator | Дата: Четверг, 14 Августа 2014, 19:43 | Сообщение # 2 |
постоянный участник
Сейчас нет на сайте
| Все куда проще.
Делаешь скрипт "ааа"
В него пишешь
Код while(!place_free(ax,ay)||point_distance(ax,ay,obj_lol.x,obj_lol.y)>24) { do }
Потом пишешь
Код with(obj_aaa) { aaa(); }
with(obj_bbb) { aaa(); }
Ghaarp
The soul lighter(Android, logic)
Zzzzombie RAGE!!!(For android)
Сообщение отредактировал XDominator - Четверг, 14 Августа 2014, 19:44 |
|
| |
миха | Дата: Четверг, 14 Августа 2014, 19:48 | Сообщение # 3 |
почти ветеран
Сейчас нет на сайте
| XDominator, ты меня не понял) это все я знаю) у мен почему-то оно все некорректно работает.
Добавлено (14.08.2014, 19:46) --------------------------------------------- эти куски кода никак не связаны, просто порой я использоал в коде такой синтаксис, и у меня никогда оно не работало
то есть допустим я пишу Цитата if var=3 || var=5 || var=10 код; и оно работает. а если так: Цитата if var=3||5||10 код; не работает, и так во всех случаях
Сообщение отредактировал миха - Четверг, 14 Августа 2014, 19:49 |
|
| |
XDominator | Дата: Четверг, 14 Августа 2014, 20:22 | Сообщение # 4 |
постоянный участник
Сейчас нет на сайте
| Естественно не работает. А в каком языке ты вообще такое видел?)
Ghaarp
The soul lighter(Android, logic)
Zzzzombie RAGE!!!(For android)
|
|
| |
миха | Дата: Четверг, 14 Августа 2014, 20:28 | Сообщение # 5 |
почти ветеран
Сейчас нет на сайте
| XDominator, ну это было бы очень логично и удобно. Кстати вот это: 7..67 из паскальки
|
|
| |
Folleah | Дата: Четверг, 14 Августа 2014, 20:52 | Сообщение # 6 |
Архитектор
Сейчас нет на сайте
| Цитата миха ( ) XDominator, ну это было бы очень логично и удобно. Кстати вот это: 7..67 из паскальки Очень логично. Если в ЯП можно заменить булев тип цифрой (0 \ 1), то при проверке Получается следующее: В этом и смысл сей конструкции.
|
|
| |
Saitei | Дата: Четверг, 14 Августа 2014, 21:17 | Сообщение # 7 |
старожил
Сейчас нет на сайте
| Folleah, Не знаю как в GML, но в С++ всё, отличное от "0" - истина. Допустим if(2+2 == 4) верно, т.к. выражение true. Да и более чем уверен, что if(2) тоже будет true
|
|
| |
XDominator | Дата: Четверг, 14 Августа 2014, 22:27 | Сообщение # 8 |
постоянный участник
Сейчас нет на сайте
| Я понял о чем вы, да, действительно, если написать if(a == b||c) то это аналогично if((a == b) || c ), но я думаю что автор имел ввиду разделение именно значение равенства, то есть под if(a == 1||2||3) имелось ввиду if(a == 1||a == 2||a == 3), но в более сокращенной форме. Первое действительно имеет место быть в некоторых языках, и действительно все что не ноль, то истина.
Ghaarp
The soul lighter(Android, logic)
Zzzzombie RAGE!!!(For android)
|
|
| |
NiggaInc | Дата: Четверг, 14 Августа 2014, 22:42 | Сообщение # 9 |
был не раз
Сейчас нет на сайте
| Чет вы фигню пишыте
Nigga inc. - профессиональный игровой бренд.
Сообщение отредактировал NiggaInc - Четверг, 14 Августа 2014, 22:42 |
|
| |
Saitei | Дата: Четверг, 14 Августа 2014, 22:52 | Сообщение # 10 |
старожил
Сейчас нет на сайте
| Цитата NiggaInc ( ) Чет вы фигню пишыте Цитата NiggaInc ( ) пишыте
|
|
| |
Folleah | Дата: Пятница, 15 Августа 2014, 05:10 | Сообщение # 11 |
Архитектор
Сейчас нет на сайте
| Цитата XDominator ( ) Я понял о чем вы, да, действительно, если написать if(a == b||c) то это аналогично if((a == b) || c ), но я думаю что автор имел ввиду разделение именно значение равенства, то есть под if(a == 1||2||3) имелось ввиду if(a == 1||a == 2||a == 3), но в более сокращенной форме. Первое действительно имеет место быть в некоторых языках, и действительно все что не ноль, то истина. А как ЯПу различать то их? Вдруг я хочу с одной стороны оперировать интегером, а с другой - булевым значением? Saitei, я не профи в плюсах, так что не знаю всех тонкостей. Но вообще, не знал, что любое число > 0 приравнивается к истине о_О
Сообщение отредактировал Folleah - Пятница, 15 Августа 2014, 05:11 |
|
| |
XDominator | Дата: Пятница, 15 Августа 2014, 07:49 | Сообщение # 12 |
постоянный участник
Сейчас нет на сайте
| Ну дело в том что ему не нужно различать. Я тебе приведу более понятный пример с логическим и вместо или, который по сути будет тоже самое что и тема обсуждения. Конструкция if(a = b && c) (по сути та же if(a = b||c) только с другим оператором) аналогична конструкции
Код if (a = b) { if (c) { //actions } }
но не конструкции Код if (a = b) { if (a = c) { //actions } }
с в данном случае может быть натуральным числом-истиной, как обсуждалось выше, либо результатом какого-нибудь ранее вычисленного выражения( типа с = x = y).
Ghaarp
The soul lighter(Android, logic)
Zzzzombie RAGE!!!(For android)
Сообщение отредактировал XDominator - Пятница, 15 Августа 2014, 07:51 |
|
| |
goldsphere | Дата: Пятница, 15 Августа 2014, 09:48 | Сообщение # 13 |
заслуженный участник
Сейчас нет на сайте
| А с чего автор, вдруг, взял, что такое будет работать? Так в уроках каких-то написано? Если не работает, значит подобный способ не уместен. Зачем такие глупые вопросы задавать?
FinderX - Android Аркада
|
|
| |
-l33t-h4xx- | Дата: Пятница, 15 Августа 2014, 10:01 | Сообщение # 14 |
участник
Сейчас нет на сайте
| Никогда не пытайтесь угадывать синтаксис. Если этого нет в документации, значит так писать не стоит даже пытаться.
Как правильно задавать вопросы
|
|
| |
миха | Дата: Пятница, 15 Августа 2014, 10:28 | Сообщение # 15 |
почти ветеран
Сейчас нет на сайте
| Ребят, я просто стремлюсь к максимально рациональному и короткому коду, что тут такого?)
|
|
| |
XDominator | Дата: Пятница, 15 Августа 2014, 10:31 | Сообщение # 16 |
постоянный участник
Сейчас нет на сайте
| Не слушай их. Эксперименты это всегда хорошо.
Ghaarp
The soul lighter(Android, logic)
Zzzzombie RAGE!!!(For android)
|
|
| |
Saitei | Дата: Пятница, 15 Августа 2014, 11:09 | Сообщение # 17 |
старожил
Сейчас нет на сайте
| миха, код пишется в первую очередь для человека, а не машины. Он должен быть понятен человеку
|
|
| |
Folleah | Дата: Пятница, 15 Августа 2014, 12:41 | Сообщение # 18 |
Архитектор
Сейчас нет на сайте
| XDominator, у вас наигрубейшая ошибка синтаксиса, а вы еще пытаетесь что то мне доказать, лол.
|
|
| |
XDominator | Дата: Пятница, 15 Августа 2014, 16:34 | Сообщение # 19 |
постоянный участник
Сейчас нет на сайте
| Folleah, ну во первых, я никому и ничего не доказываю, а во вторых, где ошибка?
Ghaarp
The soul lighter(Android, logic)
Zzzzombie RAGE!!!(For android)
|
|
| |
Folleah | Дата: Пятница, 15 Августа 2014, 16:56 | Сообщение # 20 |
Архитектор
Сейчас нет на сайте
| Цитата XDominator ( ) Folleah, ну во первых, я никому и ничего не доказываю, а во вторых, где ошибка? Только слепой программист не заметит, что ты присваиваешь, а не сравниваешь. Это наигрубейшая ошибка - присваивание в if.
|
|
| |