TapHome

Text, řetězce a pole bajtů

Funkce skriptu TapHome pro řetězce a kolekce — LENGTH, BYTECOLLECTION, INDEXOF, COPY, REPLACE, SPLIT, COMPARE, APPEND, INSERT, REMOVEAT, GETAT, SETAT, ENCODE, DECODE, EQUALS.

LENGTH

Vrací délku objektu nebo počet bajtů. Objektem může být číslo, boolean, řetězec nebo kolekce.

LENGTH( object )

Příklady:

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

BYTECOLLECTION

Vytvoří Collection z uvedených hexadecimálních hodnot.

BYTECOLLECTION( bytes )

Příklady:

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

INDEXOF

Vrací index určeného prvku v řetězci nebo v kolekci. Vrací -1, pokud prvek nelze nalézt.

INDEXOF( string/collection, element )

Pří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

Vrátí kopii zadaného řetězce nebo kolekce (nebo jejich části).

COPY( string/collection, startIndex, length)

Pří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

Vrací nový řetězec nebo kolekci, ve které jsou všechny výskyty zadané hodnoty nahrazeny novou hodnotou.

REPLACE( string/collection, oldValue, newValue)

Pří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

Rozdělí řetězec na podřetězce na základě oddělovačů.

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

Pří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ává 2 řetězce a vrací celé číslo, které naznačuje jejich relativní pozici v pořadí třídění.

COMPARE( string, string, CompareOptions )

Příklady:

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

APPEND

Přidá hodnotu k řetězci nebo kolekci a vrátí nový objekt s přidanou hodnotou.

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

Příklady:

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

INSERT

Vloží hodnotu do kolekce nebo řetězce. Vrací kolekci nebo řetězec se vloženou hodnotou.

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

Pří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

Odebere prvky z kolekce nebo řetězce na základě indexu prvku a délky. Vrací kolekci nebo řetězec bez zadaných prvků.

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

Pří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íská hodnotu prvku z kolekce nebo řetězce na základě zadaného indexu.

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

Příklady:

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

SETAT

Nastaví hodnotu prvku v kolekci nebo řetězci na uvedený index.

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

Pří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

Kóduje zadaný řetězec do vybraného formátu a vrací nový řetězec.

ENCODE( string, format )

Podporované formáty:

  • XML
  • Base64

Pří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ý řetězec zvoleným formátem a vrací nový řetězec.

DECODE( string, format )

Podporované formáty:

  • XML
  • Base64

Pří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ává dvě čísla s plovoucí desetinnou čárkou. Čísla jsou považována za rovná, pokud | n1 - n2 | < epsilon. Výchozí hodnota prahu (*epsilon) je 0.005 a je volitelným argumentem.

EQUALS( number1, number2, epsilon=0.005 )

Pří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)