TapHome

Tekst, niz znakova i polje bajtova

Funkcije skripte TapHome za nizove znakova i zbirke: LENGTH, BYTECOLLECTION, INDEXOF, COPY, REPLACE, SPLIT, COMPARE, APPEND, INSERT, REMOVEAT, GETAT, SETAT, ENCODE, DECODE, EQUALS.

LENGTH

Vraća duljinu objekta ili broj bajtova. Objekt može biti broj, logička vrijednost, niz znakova ili zbirka.

LENGTH( object )

Primjeri:

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

BYTECOLLECTION

Izrađuje Collection<UInt8> iz zadanih heksadecimalnih vrijednosti.

BYTECOLLECTION( bytes )

Primjeri:

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

INDEXOF

Vraća indeks zadanog elementa u nizu znakova ili zbirci. Ako element nije pronađen, vraća -1.

INDEXOF( string/collection, element )

Primjeri:

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

Kopira zadani niz znakova ili zbirku (ili njihov dio).

COPY( string/collection, startIndex, length)

Primjeri:

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

Vraća novi niz znakova ili zbirku u kojoj su sva pojavljivanja zadane vrijednosti zamijenjena novom vrijednošću.

REPLACE( string/collection, oldValue, newValue)

Primjeri:

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

Dijeli niz znakova na podnizove prema parametrima razdjelnika.

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

Primjeri:

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

Uspoređuje 2 niza znakova i vraća cijeli broj koji pokazuje njihov međusobni položaj u redoslijedu sortiranja.

COMPARE( string, string, CompareOptions )

Primjeri:

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

APPEND

Dodaje vrijednost na kraj zbirke ili niza znakova i vraća novi objekt s dodanom vrijednošću.

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

Primjeri:

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

INSERT

Umeće vrijednost u zbirku ili niz znakova. Vraća zbirku ili niz znakova s umetnutom vrijednošću.

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

Primjeri:

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

Uklanja elemente iz zbirke ili niza znakova na temelju indeksa elementa i duljine. Vraća zbirku ili niz znakova bez zadanih elemenata.

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

Primjeri:

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

Dohvaća vrijednost elementa iz zbirke ili niza znakova na temelju zadanog indeksa.

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

Primjeri:

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

SETAT

Postavlja vrijednost elementa u zbirci ili nizu znakova na zadanom indeksu.

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

Primjeri:

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

Kodira zadani niz znakova u jednom od formata i vraća novi niz znakova.

ENCODE( string, format )

Podržani formati:

  • XML
  • Base64

Primjeri:

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

Dekodira zadani niz znakova iz jednog od formata i vraća novi niz znakova.

DECODE( string, format )

Podržani formati:

  • XML
  • Base64

Primjeri:

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

Uspoređuje dva broja s pomičnim zarezom. Brojevi se smatraju jednakima ako je |n1 - n2| < epsilon. Zadana vrijednost praga (epsilon) iznosi 0,005 i taj parametar nije obavezan.

EQUALS( number1, number2, epsilon=0.005 )

Primjeri:

EQUALS(1.33, 1.33)          1.0 (true)
EQUALS(1.333, 1.3335)		1.0 (true)
EQUALS(1.333, 1.338)		0.0 (false)
EQUALS(1.333, 1.338, 0.01)	1.0 (true)
EQUALS(NAN, NAN)		    1.0 (true)