Различия

Здесь показаны различия между выбранной ревизией и текущей версией данной страницы.

script:construction [29/10/2020 16:32] (текущий)
Строка 1: Строка 1:
 +====== Конструкции ======
  
 +===== if =====
 + 
 +<file>
 +if (condition) {} else {}
 +</file>
 +===== switch =====
 +<file>
 +switch(expression) { case label1: 
 +                                 statements1;
 +                                 break;
 +                     case label2:
 +                                 statements2;
 +                                 break;
 +                     [default: 
 +                                 statements_default;
 +                                 break;]
 +                } 
 +</file>
 +
 +===== for =====
 +
 +Цикл с начальным и конечным значениями. 
 +<file>
 +for (<var> in <startIndex> .. <endIndex>) {<op>} 
 +</file>
 +
 +//Пример: //
 +<code>
 +for (i in 1..10) { println(i); } 
 +</code>
 +
 +Цикл по массиву значений <view> или <query> 
 +<file>
 +for (<var> in <array-var>) { 
 +   println(<var>); 
 +
 +</file>
 +
 +где,\\ 
 +//<array-var>// - выражение возвращающее массив AppXMLArray \\
 +//<var>// - имя локальной переменной с текущим элементом массива \\
 +
 +Внутри цикла, все переменные цикла имеют приоритет над переменными за пределами цикла или id 
 +
 +Поддержка синтаксиса цикла 
 +<file>
 +for([start_condition]; [end_condition]; [expr]) statement; 
 +</file>
 +Поддержка синтаксиса цикла
 +<file>
 +for(var in exp1..expr2) для случая expr1>expr2 (обратный цикл) 
 +</file>
 +
 +//Пример 1: //
 +<code>
 +var i=0; 
 +for(item in view_shop) { 
 +    println((i++) + '. ' + 'Shop name' + item[1]); // выводим пронумерованный список магазинов из двумерного массива
 +    // или 
 +    println((i++) + '. ' + 'Shop name' + item); // выводим пронумерованный список магазинов из одномерного массива
 +
 +</code>
 +
 +//Пример 2 (с заглядыванием вперед): //
 +<code>
 +var i=0; 
 +for (a in array) { 
 +   if (a.index < a.length) { 
 +       print(array[(i++) + 1]) // печатаем все элементы, кроме 0-го 
 +   }
 +}
 +</code> 
 +
 +
 +===== while =====
 +
 +Цикл с условием: 
 +<file>
 +while(condition) {...}; 
 +</file>
 +
 +===== do =====
 +
 +Цикл с постусловием: 
 +<file>
 +do {...} while(condition); 
 +</file>
 +
 +
 +:!: **Циклы:** ключевые слова - **last** (выход), **next** (переход к следующей итерации). 
 +
 +Кроме этого, поддерживается указатель **this**, указывающий на объект, сгенерировавшее событие. 
 +
 +Для вызова Java-метода требуется использовать префикс "java:", //например,// <code> java:callMyMethod("Hello", true, 1);</code> 
 +Помните, что java-метод должен иметь ожидаемых описанных параметров на один параметр больше (первый, Object). 
 +
 +
 +Указанные выше выражения и команды можно записывать как в самих атрибутах, так и во вложенных тэгах с именами, равными имени соответствущего событийного атрибута (что предпочтительнее в случае большого объекма кода). 
 +
 +//Пример:// 
 +<code>
 +<onAction>
 +    query.sql="select * from t1";
 +    print(query[][1,3]);
 +</onAction>
 +</code>
 
script/construction.txt · Последние изменения: 29/10/2020 16:32 (внешнее изменение)
 
Recent changes RSS feed Valid XHTML 1.0 Valid CSS