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
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 “<Hello id=1>”)
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("<Hello id=1>", “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)