Una raccolta di funzioni e operazioni aritmetiche, che vengono utilizzati da altri elementi Watch Face Format per risolvere valori degli attributi ed effetti giroscopici in tempo reale.
Introdotta in Wear OS 4.
Esempio
Un'espressione di esempio per ruotare un valore fino a 5 gradi in entrambe le direzioni, in base al valore $ x $ dell'accelerometro del dispositivo Wear OS:
(5/90)*clamp([ACCELEROMETER_ANGLE_X],0,90) + (-5/90)*clamp([ACCELEROMETER_ANGLE_X],-90,0)
...che equivale alla seguente espressione matematica, dove $\theta_x $ rappresenta l'angolo dell'accelerometro nella direzione $ x $:
Funzioni
Il formato del quadrante riconosce i seguenti valori di stringa come funzioni:
round()
- Converti il valore di input in un valore con virgola mobile, quindi esegue l'operazione matematica standard di
round()
. floor()
- Esegue l'operazione matematica standard di
floor()
. ceil()
- Esegue l'operazione matematica standard di
ceil()
. fract()
- Restituisci la parte frazionaria del valore di input, ovvero la parte del valore in virgola mobile che appare a destra del punto decimale.
sin()
- Esegue l'operazione trigonometrica standard di
sin()
. cos()
- Esegue l'operazione trigonometrica standard di
cos()
. tan()
- Esegue l'operazione trigonometrica standard di
tan()
. asin()
- Esegue l'operazione trigonometrica standard di
asin()
. Il valore restituito è sempre compreso nell'intervallo $ [-\frac{\pi}{2}, \frac{\pi}{2}] $. acos()
- Esegue l'operazione trigonometrica standard di
acos()
. Il valore restituito è sempre compreso nell'intervallo $ [0,0, \pi] $. atan()
- Esegue l'operazione trigonometrica standard di
atan()
. Il valore restituito è sempre compreso nell'intervallo $ [-\frac{\pi}{2}, \frac{\pi}{2}] $. abs()
- Converti il valore di input in un valore con virgola mobile, quindi esegue l'operazione matematica standard di
abs()
. clamp(,,)
- Converti i valori di input in valori in virgola mobile, quindi esegue l'operazione Jetpack
clamp()
per adattarsi al primo valore nell'intervallo definito dal secondo e dal terzo valore. rand(,)
Genera un valore in virgola mobile casuale che soddisfa contemporaneamente le seguenti condizioni:
- Maggiore o uguale al primo valore.
- Minore o uguale al secondo valore.
Presuppone che il primo valore sia minore o uguale al secondo valore.
log()
Esegue l'operazione matematica standard in base-$ e $
log()
.log2()
Simula un logaritmo in base-2. Questo valore viene calcolato dividendo il logaritmo in base 10 (
log10
del valore di input) per il logaritmo in base 10 di 2 $.log10()
Esegue l'operazione matematica standard in base 10
log10
.sqrt()
Esegue l'operazione matematica standard di
sqrt()
.cbrt()
Esegue l'operazione matematica standard di
cbrt()
.exp()
Esegue l'operazione matematica standard di
exp()
.expm1()
Richiama direttamente l'operazione matematica
expm1()
se il valore di input è $ 1 $. Per qualsiasi altro valore di input, simula la funzione eseguendo l'operazione matematica standardexp()
, quindi sottraendo 1.deg()
Esegue l'operazione matematica standard di
toDegrees()
. $ \frac{\pi}{2} $ è definito come 90 gradi e $ \pi $ è definito come 180 gradi.rad()
Esegue l'operazione matematica standard di
toRadians()
. 90 gradi sono definiti come $ \frac{\pi}{2} $, mentre 180 gradi sono definiti $ \pi $.pow(,)
Esegue l'operazione matematica standard di
pow()
. Il valore di output è sempre un numero con virgola mobile.numberFormat(,)
Applica il formato numerico nel primo valore al secondo.
Il primo valore può contenere i seguenti caratteri:
#
: rappresenta una cifra numerica.,
: rappresenta un separatore di virgola per i numeri grandi..
: rappresenta un punto decimale.
icuText()
Converte la stringa del formato della data di input in un pattern corrispondente al formato delle impostazioni internazionali previsto. Se l'elemento
PartText
principale include un elementoLocalization
, viene utilizzato il formato di quell'impostazione internazionale. In caso contrario, verranno usate le impostazioni internazionali attuali del dispositivo Wear OS.Ad esempio, se il dispositivo viene utilizzato negli Stati Uniti, un valore di input di
EE, MMM d, yyyy h:mm a
restituisce il seguente output:Tue, Mar 14, 2023 1:59 PM
icuBestText()
Converte la stringa del formato della data di input nell'ora attuale il cui pattern corrisponde al formato previsto. Se l'elemento
PartText
principale include un elementoLocalization
, viene utilizzato il formato di quell'impostazione internazionale. In caso contrario, verranno usate le impostazioni internazionali attuali del dispositivo Wear OS.Ad esempio, se il dispositivo viene utilizzato negli Stati Uniti il 14 marzo 2023 alle 13:59, un valore di input di
yyyy MMM d EE a h:mm
restituisce il seguente output:Tue, Mar 14, 2023, 1:59 PM
subText(,,)
Estrae una sottostringa dal primo valore. Il secondo valore indica l'indice in base 0 nel primo valore in cui deve iniziare la sottostringa. Il terzo valore indica l'indice in base 0 nel primo valore in cui deve essere interrotta l'estrazione delle sottostringhe ("dal secondo valore fino al terzo valore escluso").
Esempi:
subText("abc def", 2, 5)
èc d
subText("abc def", 2, 7)
èc def
textLength()
Calcola la lunghezza della stringa di input.
Operatori
Watch Face Format riconosce i seguenti valori di stringa come operatori:
+
- Più unario o aggiunta di più valori. Supporta sia valori interi sia valori in virgola mobile.
-
- Meno unitario o sottrazione di più valori. Supporta sia valori interi sia valori in virgola mobile.
*
- Moltiplicazione di più valori interi o con virgola mobile.
/
Divisione di 2 valori interi o in virgola mobile.
Se la divisione di 2 numeri interi restituisce un valore non intero, la parte decimale viene conservata nel risultato in virgola mobile. Ad esempio, $ \frac{1}{2} = 0.5 $.
Inoltre, l'espressione $ \frac{x}{0} $ viene valutata come
0
, dove $ x $ è qualsiasi numero intero.%
Divisione modulare di 2 valori interi o in virgola mobile.
Se entrambi gli operandi sono numeri interi, il risultato è il resto della divisione dei 2 valori. Ad esempio, $ 19 \bmod 7 = 5 $.
Se almeno un operando è un numero con virgola mobile, il risultato è un equivalente in virgola mobile del resto, ad esempio: $ 19.0 \bmod 7 = 5.0 $.
~
Operatore "not" a livello di bit. Alcuni esempi:
~1
costa -2 $~0
costa -1 $
!
Operatore logico "not", che supporta i doppi negativi. Alcuni esempi:
- !2 $ equivale a
false
- $ !!0 $ è
true
|
Operatore "or" a livello di bit. Supporta più di due valori di input. Alcuni esempi:
- 1 € | 0 = 1 €
- 1 € | 2 | 4 = 7 €
||
- Operatore logico "or".
&
- Operatore "and" per bit. Supporta esattamente 2 valori di input.
&&
- Operatore logico "and".
(
- Parentesi aperta. Utilizzato per cambiare l'ordine standard delle operazioni, in cui la moltiplicazione e la divisione hanno solitamente la priorità sull'addizione e sulla sottrazione.
)
- Parentesi chiusa. Utilizzato per cambiare l'ordine standard delle operazioni, in cui la moltiplicazione e la divisione hanno solitamente la priorità sull'addizione e sulla sottrazione.
<
- L'operatore di confronto "minore di". Quando confronti un valore intero con il suo equivalente in virgola mobile, il risultato è
false
. <=
- L'operatore di confronto "minore di o uguale a". Quando confronti un valore intero
con il suo equivalente in virgola mobile, il risultato è
true
. >
- L'operatore di confronto "maggiore di". Quando confronti un valore intero con il suo equivalente in virgola mobile, il risultato è
false
. >=
- L'operatore di confronto "maggiore di o uguale a". Quando confronti un valore intero
con il suo equivalente in virgola mobile, il risultato è
true
. ?
e:
Offre supporto per le operazioni ternarie. Il formato generale è il seguente:
condition ? value_if_true : value_if_false
Supporta operazioni ternarie nidificate che utilizzano parentesi.
,
Separa i valori nelle funzioni che richiedono più di un argomento.
"
Se posizionato all'inizio e alla fine di un valore, indica che il formato del quadrante deve interpretare il valore come una stringa.
==
Confrontare per determinare l'uguaglianza. Quando confronti un valore intero con il suo equivalente in virgola mobile, il risultato è
true
.!=
Confrontare la disuguaglianza. Quando confronti un valore intero con il suo equivalente in virgola mobile, il risultato è
false
.
Consigliato per te
- Nota: il testo del link viene visualizzato quando JavaScript è disattivato
- Tipo di origine
- ListConfiguration
- Testo parte