From OpenSCADAWiki
Jump to: navigation, search

Массив предоставляет специальное свойство "length", для получения размера массива "var = arr.length;". Также массив предоставляет следующие функции:

  • string join( string sep = "," ), string toString( string sep = "," ), string valueOf( string sep = "," ) — возвращает строку с элементами массива, разделёнными sep или символом ','.
  • Array concat( Array arr ); — добавляет к исходному массиву элементы массива arr. Возвращает исходный массив с изменениями.
  • int push( ElTp var, ... ); — помещает элемент(ы) var в конец массива, как в стек. Возвращает новый размер массива.
  • ElTp pop( ); — удаляет последний элемент массива и возвращает его значения, как из стека.
  • Array reverse( ); — изменяет порядок расположения элементов массива. Возвращается исходный массив с изменениями.
  • ElTp shift( ); — сдвигает массив вверх, при этом первый элемент массива удаляется, а его значение возвращается.
  • int unshift( ElTp var, ... ); — задвигает элемент(ы) var в массив. Первый элемент в 0, второй в 1 и т.д.
  • Array slice( int beg, int end ); — возвращает фрагмент массива от beg к end (исключая). Если значение начала или конца отрицательно, то отсчёт ведётся с конца массива. Если конец не указан, то концом является конец массива.
  • Array splice( int beg, int remN, ElTp val1, ElTp val2, ... ); — вставляет, удаляет или заменяет элементы массива. Возвращает массив удалённых элементов. В первую очередь осуществляется удаление элементов с позиции beg и количеством remN, а затем вставляются значения val1 и т.д., начиная с позиции beg.
  • int indexOf( ElTp var, int start = 0 ); — возвращает индекс массиву нужной переменной var в исходной последовательности, начиная с позиции start. Если исходная позиция не указана то поиск начинается с начала. Если искомого значения не найдено то возвращается "-1".
  • int lastIndexOf( ElTp var, int start = {end} ); — возвращает индекс массива нужной переменной var в исходной последовательности, начиная с позиции start при поиске с конца. Если исходная позиция не указана то поиск начинается с конца. Если искомого значения не найдено то возвращается "-1".
  • double sum( int beg, int end ); — сумма значений части массива с позиции beg по end, исключая.
  • Array sort( ); — сортирует элементы массива в лексикографическом порядке.