TapHome

Text, reťazec a bajtové pole

Funkcie pre reťazce a kolekcie v skripte TapHome — LENGTH, BYTECOLLECTION, INDEXOF, COPY, REPLACE, SPLIT, COMPARE, APPEND, INSERT, REMOVEAT, GETAT, SETAT, ENCODE, DECODE, EQUALS.

LENGTH

Vráti dĺžku objektu alebo počet bajtov. Objekt môže byť číslo, boolean, reťazec alebo kolekcia.

LENGTH( object )

Príklady:

LENGTH(“Hello World”)			(Result is 11)
LENGTH(“40”)				(Result is 2)
LENGTH(40)					(Result is 8)
LENGTH(BYTECOLLECTION(“010203”)	(Result is 3)

BYTECOLLECTION

Vytvorí Collection zo zadaných hexadecimálnych hodnôt.

BYTECOLLECTION( bytes )

Príklady:

BYTECOLLECTION(“010203”) 				(Result is Collection<UInt8> {01, 02, 03})
BYTECOLLECTION(“aa, be1-1,fe”) 			(Result is Collection<UInt8> {aa be 11 fe})

INDEXOF

Vráti index zadaného prvku v reťazci alebo v kolekcii. Vráti -1, ak prvok nemožno nájsť.

INDEXOF( string/collection, element )

Príklady:

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

Skopíruje zadaný reťazec alebo kolekciu (alebo ich časť).

COPY( string/collection, startIndex, length)

Príklady:

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

Vráti nový reťazec alebo kolekciu, v ktorej sa všetky výskyty zadanej hodnoty nahradia novou hodnotou.

REPLACE( string/collection, oldValue, newValue)

Príklady:

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

Rozdelí reťazec na podreťazce podľa zadaných separátorov.

SPLIT( string, string )
SPLIT( string, char )
SPLIT( string, Collection<string> )
SPLIT( string, Collection<char> )

Príklady:

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

Porovná dva reťazce a vráti celé číslo, ktoré udáva ich relatívne poradie.

COMPARE( string, string, CompareOptions )

Príklady:

COMPARE("abc", “abc”)						(Result is 0)
COMPARE("abc", “ABC”)						(Result is 32)
COMPARE("abc", “ABC”, CompareOptions.IgnoreCase)	(Result is 0)

APPEND

Pridá hodnotu do kolekcie alebo reťazca a vráti nový objekt s pridanou hodnotou.

APPEND( string, string )
APPEND( Collection, value )

Príklady:

APPEND({1, 2}, 3)     (Result is Collection<Double>{1, 2, 3})
APPEND("abc", “def”)  (Result is “abcdef”)

INSERT

Vloží hodnotu do kolekcie alebo reťazca. Vráti kolekciu alebo reťazec s vloženou hodnotou.

INSERT( collection, index, value )
INSERT( string, index, value )

Príklady:

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

Odstráni prvky z kolekcie alebo reťazca na základe indexu prvku a dĺžky. Vráti kolekciu alebo reťazec bez špecifikovaných prvkov.

REMOVEAT( collection, index, length )
REMOVEAT( string, index, length )

Príklady:

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

Získa hodnotu prvku z kolekcie alebo reťazca na základe zadaného indexu.

GETAT( collection, index )
GETAT( string, index )

Príklady:

GETAT(“Hello”, 2)			(Result is “l”)
GETAT({1, 2, 4}, 2)			(Result is 4)

SETAT

Nastaví hodnotu prvku v kolekcii alebo reťazci na zadanom indexe.

SETAT( collection, index, value )
SETAT( string, index, value )

Príklady:

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

Zakóduje zadaný reťazec pomocou jedného z formátov a vráti nový reťazec.

ENCODE( string, format )

Podporované formáty:

  • XML
  • Base64

Príklady:

ENCODE("Hello", “xml”)				(Result is “Hello”)
ENCODE("<Hello id=1>", “xml”)		(Result is “&lt;Hello id=1&gt;”)
ENCODE("Hello", “base64”)			(Result is “SGVsbG8=”)

DECODE

Dekóduje zadaný reťazec pomocou jedného z formátov a vráti nový reťazec.

DECODE( string, format )

Podporované formáty:

  • XML
  • Base64

Príklady:

DECODE("Hello", “xml”)				  (Result is “Hello”)
DECODE("&lt;Hello id=1&gt;", “xml”)   (Result is “<Hello id=1>”)
DECODE("SGVsbG8=", “base64”)		  (Result is “Hello”)

EQUALS

Porovná dve čísla s pohyblivou desatinnou čiarkou. Čísla sa považujú za rovné, ak | n1 - n2 | < epsilon. Predvolená hodnota prahu (*epsilon) je 0,005 a je voliteľným parametrom.

EQUALS( number1, number2, epsilon=0.005 )

Príklady:

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)