Tekst, ciąg znaków i bajtów
Funkcje łańcuchowe i kolekcji w skrypcie TapHome — LENGTH, BYTECOLLECTION, INDEXOF, COPY, REPLACE, SPLIT, COMPARE, APPEND, INSERT, REMOVEAT, GETAT, SETAT, ENCODE, DECODE, EQUALS.
LENGTH
Zwraca długość obiektu lub liczbę bajtów. Obiekt może być liczbą, wartością logiczną, łańcuchem lub Kolekcją.
LENGTH( object )Przykłady:
LENGTH(“Hello World”) (Result is 11)
LENGTH(“40”) (Result is 2)
LENGTH(40) (Result is 8)
LENGTH(BYTECOLLECTION(“010203”) (Result is 3)BYTECOLLECTION
Tworzy Collection
BYTECOLLECTION( bytes )Przykłady:
BYTECOLLECTION(“010203”) (Result is Collection<UInt8> {01, 02, 03})
BYTECOLLECTION(“aa, be1-1,fe”) (Result is Collection<UInt8> {aa be 11 fe})INDEXOF
Zwraca indeks określonego elementu w łańcuchu lub kolekcji. Zwraca -1, jeśli element nie został znaleziony.
INDEXOF( string/collection, element )Przykłady:
INDEXOF("Hello", “H”) (Result is 0)
INDEXOF("Hello World", “Wor”) (Result is 6)
INDEXOF("Hello World", “Wor”) (Result is 6)
INDEXOF("Hello World", “or12”) (Result is -1)
INDEXOF(BYTECOLLECTION("ab cd ee ff 01 02"), 2) (Result is 5)
INDEXOF({1, 2, 3}, 3) (Result is 2)COPY
Kopiuje wskazany ciąg znaków lub kolekcję (lub ich część).
COPY( string/collection, startIndex, length)Przykłady:
COPY("Hello") (Result is “Hello”)
COPY("Hello World", 2) (Result is “llo World”)
COPY("Hello World", 2, 4) (Result is “llo ”)
COPY(BYTEARRAY("01020304") (Result is byte array 01020304)
COPY(BYTEARRAY("01020304", 2, 1) (Result is byte array 03)REPLACE
Zwraca nowy łańcuch znaków lub kolekcję, w której wszystkie wystąpienia określonej wartości są zastąpione nową wartością.
REPLACE( string/collection, oldValue, newValue)Przykłady:
REPLACE("Hello", “l”, “”) (Result is “Heo”)
REPLACE("Hello", “lo”, “22”) (Result is “Hel22”)
REPLACE(BYTECOLLECTION(“050607"), 5, 9) (Result is Collection<UInt8>{09, 06, 07}SPLIT
Dzieli łańcuch na podłańcuchy w oparciu o separatory.
SPLIT( string, string )
SPLIT( string, char )
SPLIT( string, Collection<string> )
SPLIT( string, Collection<char> )Przykłady:
SPLIT("1;2;3;4", “;”) (Result is Collection<String>{“1”, “2”, “3”, “4”})
SPLIT("1;2;3.4", “2;”) (Result is Collection<String>{“1;”, “3.4”})
SPLIT("1;2;3.4", {“2”, “3.”) (Result is Collection<String>{“1;”, “;”, “4”})COMPARE
Porównuje dwa łańcuchy znaków i zwraca liczbę całkowitą wskazującą ich względne położenie w porządku sortowania.
COMPARE( string, string, CompareOptions )Przykłady:
COMPARE("abc", “abc”) (Result is 0)
COMPARE("abc", “ABC”) (Result is 32)
COMPARE("abc", “ABC”, CompareOptions.IgnoreCase) (Result is 0)APPEND
Dołącza wartość do kolekcji lub łańcucha i zwraca nowy obiekt z dołączoną wartością.
APPEND( string, string )
APPEND( Collection, value )Przykłady:
APPEND({1, 2}, 3) (Result is Collection<Double>{1, 2, 3})
APPEND("abc", “def”) (Result is “abcdef”)INSERT
Wstawia wartość do kolekcji lub łańcucha. Zwraca kolekcję lub łańcuch z wstawioną wartością.
INSERT( collection, index, value )
INSERT( string, index, value )Przykłady:
INSERT(“Hello”, 5, “ World”) (Result is “Hello World”)
INSERT(“Hello”, 1, “i”) (Result is “Hiello”)
INSERT({1, 2, 4}, 2, 3) (Result is Collection<Double>{1, 2, 3, 4})REMOVEAT
Usuwa elementy z kolekcji lub łańcucha na podstawie indeksu elementu i długości. Zwraca kolekcję lub łańcuch bez podanych elementów.
REMOVEAT( collection, index, length )
REMOVEAT( string, index, length )Przykłady:
REMOVEAT(“Hello”, 1) (Result is “Hllo”)
REMOVEAT(“Hello”, 3, 2) (Result is “Ho”)
REMOVEAT({1, 2, 3, 4}, 2) (Result is Collection<Double>{1, 2, 4})
REMOVEAT({1, 2, 3, 4}, 2, 2) (Result is Collection<Double>{1, 2})GETAT
Pobiera wartość elementu z kolekcji lub łańcucha na podstawie podanego indeksu.
GETAT( collection, index )
GETAT( string, index )Przykłady:
GETAT(“Hello”, 2) (Result is “l”)
GETAT({1, 2, 4}, 2) (Result is 4)SETAT
Ustawia wartość elementu w kolekcji lub łańcuchu pod podanym indeksem.
SETAT( collection, index, value )
SETAT( string, index, value )Przykłady:
SETAT(“Hello”, 1, “a”) (Result is “Hallo”)
SETAT(“Hello”, 4, “o World”) (Result is “Hello World”)
SETAT({1, 2, 4}, 2, 3) (Result is Collection<Double>{1, 2, 3})ENCODE
Koduje wskazany łańcuch w jednym z formatów i zwraca nowy łańcuch.
ENCODE( string, format )Obsługiwane formaty:
- XML
- Base64
Przykłady:
ENCODE("Hello", “xml”) (Result is “Hello”)
ENCODE("<Hello id=1>", “xml”) (Result is “<Hello id=1>”)
ENCODE("Hello", “base64”) (Result is “SGVsbG8=”)DECODE
Dekoduje wskazany łańcuch, używając jednego z formatów, i zwraca nowy łańcuch.
DECODE( string, format )Obsługiwane formaty:
- XML
- Base64
Przykłady:
DECODE("Hello", “xml”) (Result is “Hello”)
DECODE("<Hello id=1>", “xml”) (Result is “<Hello id=1>”)
DECODE("SGVsbG8=", “base64”) (Result is “Hello”)EQUALS
Porównuje dwie liczby w arytmetyce zmiennoprzecinkowej. Liczby uznaje się za równe, jeśli | n1 - n2 | < epsilon. Domyślna wartość progu (*epsilon) wynosi 0.005 i jest parametrem opcjonalnym.
EQUALS( number1, number2, epsilon=0.005 )Przykłady:
EQUALS(1.33, 1.33) 1.0 (true)
EQUALS(1.333, 1.3335) 1.0 (true)
EQUALS(1.333, 1.338) 1.0 (false)
EQUALS(1.333, 1.338, 0.01) 1.0 (true)
EQUALS(NAN, NAN) 1.0 (true)