TapHome

Testo, Stringa e Byte array

Funzioni per stringhe e collezioni dello script TapHome — LENGTH, BYTECOLLECTION, INDEXOF, COPY, REPLACE, SPLIT, COMPARE, APPEND, INSERT, REMOVEAT, GETAT, SETAT, ENCODE, DECODE, EQUALS.

LENGTH

Restituisce la lunghezza di un oggetto o il numero di byte. L’oggetto può essere un numero, un booleano, una stringa o una Collezione.

LENGTH( object )

Esempi:

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

BYTECOLLECTION

Crea una Collection a partire da valori esadecimali specificati.

BYTECOLLECTION( bytes )

Esempi:

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

INDEXOF

Restituisce l’indice dell’elemento specificato in una stringa o in una collezione. Restituisce -1 se l’elemento non viene trovato.

INDEXOF( string/collection, element )

Esempi:

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

Copia una stringa o una collezione (o una loro parte).

COPY( string/collection, startIndex, length)

Esempi:

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

Restituisce una nuova stringa o una nuova collezione, in cui tutte le occorrenze del valore specificato sono sostituite con il nuovo valore.

REPLACE( string/collection, oldValue, newValue)

Esempi:

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

Divide una stringa in sottostringhe basate sui parametri separatori.

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

Esempi:

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

Confronta 2 stringhe e restituisce un intero che indica la loro posizione relativa nell’ordinamento.

COMPARE( string, string, CompareOptions )

Esempi:

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

APPEND

Aggiunge un valore a una collezione o a una stringa e restituisce un nuovo oggetto con il valore aggiunto.

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

Esempi:

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

INSERT

Inserisce un valore in una collezione o in una stringa. Restituisce la collezione o la stringa con il valore inserito.

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

Esempi:

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

Rimuove elementi dalla collezione o dalla stringa in base all’indice dell’elemento e alla lunghezza. Restituisce la collezione o la stringa senza gli elementi specificati.

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

Esempi:

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

Ottiene il valore di un elemento da una collezione o da una stringa in base all’indice fornito.

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

Esempi:

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

SETAT

Imposta il valore di un elemento nella collezione o in una stringa all’indice fornito.

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

Esempi:

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

Codifica una stringa specificata utilizzando uno dei formati e restituisce la nuova stringa.

ENCODE( string, format )

Formati supportati:

  • XML
  • Base64

Esempi:

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

Decodifica una stringa specificata utilizzando uno dei formati e restituisce la nuova stringa.

DECODE( string, format )

Formati supportati:

  • XML
  • Base64

Esempi:

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

Confronta due numeri in virgola mobile. I numeri sono considerati uguali se | n1 - n2 |< epsilon. Il valore predefinito della soglia (*epsilon) è 0.005 ed è un parametro opzionale.

EQUALS( number1, number2, epsilon=0.005 )

Esempi:

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)