TapHome

Szöveg, Karakterlánc és Bájtömb

TapHome szkript string- és gyűjteményfüggvények — LENGTH, BYTECOLLECTION, INDEXOF, COPY, REPLACE, SPLIT, COMPARE, APPEND, INSERT, REMOVEAT, GETAT, SETAT, ENCODE, DECODE, EQUALS.

LENGTH

Visszaadja egy objektum hosszát vagy bájtjainak számát. Az objektum lehet szám, logikai érték, string vagy gyűjtemény.

LENGTH( object )

Példák:

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

BYTECOLLECTION

Létrehoz egy Collection gyűjteményt meghatározott hexadecimális értékekből.

BYTECOLLECTION( bytes )

Példák:

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

INDEXOF

Visszaadja egy adott elem indexét karaktersorban vagy gyűjteményben. -1‑et ad vissza, ha az elem nem található.

INDEXOF( string/collection, element )

Példák:

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

Megadott szöveget vagy gyűjteményt (vagy annak részét) másolja.

COPY( string/collection, startIndex, length)

Példák:

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

Visszaad egy új szöveget vagy gyűjteményt, amelyben a megadott érték minden előfordulását lecseréli az új értékre.

REPLACE( string/collection, oldValue, newValue)

Példák:

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

Szöveget szeletel szét egy szeparátor alapján.

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

Példák:

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

Összehasonlít két szöveget, és visszaad egy egész számot, amely megmutatja az elemek rendezési viszonyát.

COMPARE( string, string, CompareOptions )

Példák:

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

APPEND

Értéket ad hozzá egy gyűjteményhez vagy szöveghez, és egy új objektumot ad vissza a hozzáadott értékkel.

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

Példák:

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

INSERT

Értéket szúr be a gyűjteménybe vagy szövegbe. Visszaadja a beszúrt értékkel módosított gyűjteményt vagy szöveget.

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

Példák:

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

Elemeket távolít el gyűjteményből vagy karakterláncból index és hossz alapján. Visszaadja a megadott elemeket már nem tartalmazó gyűjteményt vagy szöveget.

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

Példák:

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

Egy elem értékének lekérése gyűjteményből vagy szövegből a megadott index alapján.

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

Példák:

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

SETAT

Elem értékének beállítása a gyűjteményben vagy a szövegben a megadott indexnél.

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

Példák:

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

Megadott stringet kódol egy formátumba, és visszaadja az új stringet.

ENCODE( string, format )

Támogatott formátumok:

  • XML
  • Base64

Példák:

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

Megadott stringet dekódol egy formátumból, és visszaadja az új stringet.

DECODE( string, format )

Támogatott formátumok:

  • XML
  • Base64

Példák:

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

Két lebegőpontos számot hasonlít össze. A számok egyenlőnek tekintendők, ha | n1 - n2 | < epsilon. A küszöb (epsilon) alapértelmezett értéke 0,005, és opcionális paraméterként megadható.

EQUALS( number1, number2, epsilon=0.005 )

Példák:

EQUALS(1.33, 1.33)          1.0 (igaz)
EQUALS(1.333, 1.3335)		1.0 (igaz)
EQUALS(1.333, 1.338)		0.0 (hamis)
EQUALS(1.333, 1.338, 0.01)	1.0 (igaz)
EQUALS(NAN, NAN)		    1.0 (igaz)