Показаны сообщения с ярлыком at-Formula списки. Показать все сообщения
Показаны сообщения с ярлыком at-Formula списки. Показать все сообщения

вторник, сентября 30, 2008

строка-список-строка

преобразование строки в список

@Explode( string ) - разбивает строку string на элементы, "разделителем" в данном случае является пробел, символы табуляции и новой строки, а так же спец-символы
@Explode( string ; separators ) -
разбивает строку string на элементы,  испльзуя в качестве "разделителя" символы из строки separators
@Explode( string ; separators ; includeEmpties ) -
как и предыдущая функция, но если параметр  includeEmpties true (1), то  в возвращаемом списке пустые строки не будут исключены (по умолчанию параметр includeEmpties равен false)
@Explode( string ; separators ; includeEmpties ; newlineAsSeparator ) - 
как предыдущая функция, параметр newLineAsSeparator, будучи true указывает, что символ новой строки так же является "разделителем" (по умолчанию - true (1))

ex @Explode("Здравствуйте, товарисчи!"); вернёт "Здравствуйте":"товарисчи!"; @Explode("hello, world!";", ";1); вернёт "hello":"":"world!"

преобразование списка в строку

@Implode( textList ) - объединяет элементы текстового списка textList в строку, разделяя пробелами каждый элемент
@Implode( textList ; separator ) - работает так же, как и предыдущий, разделяя каждый элемент строкой separator

ex @Implode("hello":"world"); вернёт строку "hello world";  @Implode("a":"b":"c";", "); вернёт строку "a, b, c"


длина списков (количество элементов)

есть две функции, показывающие длину списка - @Count(list) и @Elements(list), обе они возвращают количество элементов списка list, одно лишь отличие - для того случая, когда list - не список вовсе, либо список, но пустой - @Count в этом случае вернёт 1, а @Elements - 0

Списки в @Formula

списки в собако-формуле это что-то типа массива и списка одновременно, соответственно элементы одного списка должны быть одинаковы! вот как-то так =) элементы списка задаются через двоеточие ex 2:3:4:5 - числовой список; "hello":"world" - строковый список, допускается список дат и времени

соединение списков также происходит через двоеточие ex list_a:"new element"; list_a:list_b;

сложение списков

одиночное сложение element+list  - к каждому элементу списка прибавится element ex "new_"+"a":"b":"c" даст в результате список "new_a":"new_b":"new_c"; 2+3:4:5 даст 5:6:7

парное сложение list+list -  сложение двух списков - обычно производятся со списками одинаковой длины, элемент первого списка складывается с аналогичным элментом второго списка ex "Bill":"Linus"+"Gates":"Torvalds" даст нам "Bill Gates":"Linus Torvalds"; 10:15+3:5 даст 13:20

по-парное сложение list*+list - каждый элемент складывается с каждым ex "a":"b"*+"c":"d" даст "ac":"ad":"bc":"bd"; 2:3*+5:10 даст 7:12:8:13

(sic!) для числовых списков также доступны операции деления, умножения и вычитания одиночного, парного и по-парного вариантов