Aritmetik İfade

Diğer Saat Yüzü Formatı öğelerinin gerçek zamanlı özellik değerlerini ve jiroskop efektlerini çözümlemek için kullandığı aritmetik işlevler ve işlemler koleksiyonu.

Wear OS 4'te kullanıma sunuldu.

Örnek

Wear OS cihazın ivme ölçerinin $ x $ değerine bağlı olarak bir değeri her iki yönde de 5 dereceye kadar döndürmeye ilişkin örnek ifade:

(5/90)*clamp([ACCELEROMETER_ANGLE_X],0,90) + (-5/90)*clamp([ACCELEROMETER_ANGLE_X],-90,0)

...bu şu matematiksel ifadeye eşdeğerdir; burada $ \theta_x $, $ x $-yönündeki ivme ölçer açısını temsil eder:

$$ \frac{5}{90} * max(min(\theta_x, 90), -90) $$

Fonksiyonlar

Kadran Biçimi, aşağıdaki dize değerlerini işlev olarak tanır:

round()
Giriş değerini kayan nokta değerine dönüştürür ve ardından standart round() matematik işlemini gerçekleştirir.
floor()
Standart floor() matematik işlemini gerçekleştirir.
ceil()
Standart ceil() matematik işlemini gerçekleştirir.
fract()
Giriş değerinin kesirli kısmını; yani ondalık virgülün sağ tarafında görünen kayan nokta değerinin kısmını döndürür.
sin()
Standart sin() trigonometrik işlemini gerçekleştirir.
cos()
Standart cos() trigonometrik işlemini gerçekleştirir.
tan()
Standart tan() trigonometrik işlemini gerçekleştirir.
asin()
Standart asin() trigonometrik işlemini gerçekleştirir. Döndürülen değer her zaman $ [-\frac{\pi}{2}, \frac{\pi}{2}] $ aralığındadır.
acos()
Standart acos() trigonometrik işlemini gerçekleştirir. Döndürülen değer her zaman $ [0.0, \pi] $ aralığındadır.
atan()
Standart atan() trigonometrik işlemini gerçekleştirir. Döndürülen değer her zaman $ [-\frac{\pi}{2}, \frac{\pi}{2}] $ aralığındadır.
abs()
Giriş değerini kayan nokta değerine dönüştürür ve ardından standart abs() matematik işlemini gerçekleştirir.
clamp(,,)
Giriş değerlerini kayan nokta değerlerine dönüştürür, ardından ikinci ve üçüncü değerler tarafından tanımlanan aralıktaki ilk değeri sığdırmak için clamp() Jetpack işlemini gerçekleştirir.
rand(,)

Aşağıdaki koşulları aynı anda karşılayan rastgele bir kayan nokta değeri oluşturur:

  • İlk değerden büyük veya ilk değere eşit.
  • İkinci değerden küçük veya ikinci değere eşit.

İlk değerin ikinci değerden küçük veya ikinci değere eşit olduğunu varsayar.

log()

Standart $ e $ log() tabanında matematik işlemini gerçekleştirir.

log2()

2 tabanında logaritmayı simüle eder. Bu değer, 10 tabanındaki logaritmayı (giriş değerinin log10) 2 ABD doları tutarındaki 10 tabanlı logaritmaya bölerek hesaplanır.

log10()

Standart 10 tabanında log10 matematik işlemini gerçekleştirir.

sqrt()

Standart sqrt() matematik işlemini gerçekleştirir.

cbrt()

Standart cbrt() matematik işlemini gerçekleştirir.

exp()

Standart exp() matematik işlemini gerçekleştirir.

expm1()

Girdi değeri 1 ABD doları ise doğrudan expm1() matematik işlemini çağırır. Diğer tüm giriş değerleri için standart exp() matematik işlemini yapıp 1 çıkarıp fonksiyonu simüle eder.

deg()

Standart toDegrees() matematik işlemini gerçekleştirir. $ \frac{\pi}{2} $ 90 derece, $ \pi $ ise 180 derece olarak tanımlanır.

rad()

Standart toRadians() matematik işlemini gerçekleştirir. 90 derece, $ \frac{\pi}{2} $, 180 derece ise $ \pi $ olarak tanımlanır.

pow(,)

Standart pow() matematik işlemini gerçekleştirir. Çıkış değeri her zaman bir kayan noktalı sayıdır.

numberFormat(,)

İlk değerdeki sayı biçimini ikinci değere uygular.

İlk değer aşağıdaki karakterleri içerebilir:

  • # -- sayısal bir basamağa karşılık gelir.
  • , -- Büyük sayılarda virgül ayırıcısını temsil eder.
  • . -- ondalık ayırıcıyı temsil eder.
icuText()

Girdi tarihi biçimi dizesini, beklenen yerel ayar biçimiyle eşleşen bir kalıba dönüştürür. Üst PartText öğesi bir Localization öğesi içeriyorsa bu yerel ayarın biçimi kullanılır. Aksi takdirde, Wear OS cihazın mevcut yerel ayarını kullanır.

Örneğin, cihaz ABD'de kullanılıyorsa EE, MMM d, yyyy h:mm a giriş değeri şu çıkışı verir: Tue, Mar 14, 2023 1:59 PM

icuBestText()

Giriş tarihi biçimi dizesini, kalıbı beklenen biçimle eşleşen geçerli saate dönüştürür. Üst PartText öğesi bir Localization öğesi içeriyorsa bu yerel ayarın biçimi kullanılır. Aksi takdirde, Wear OS cihazın mevcut yerel ayarını kullanır.

Örneğin, cihaz 14 Mart 2023 saat 13:59'da ABD'de kullanılıyorsa yyyy MMM d EE a h:mm giriş değeri şu çıkışı verir: Tue, Mar 14, 2023, 1:59 PM

subText(,,)

İlk değerden bir alt dize çıkarır. İkinci değer, alt dizenin başlaması gereken ilk değerdeki 0 tabanlı dizini gösterir. Üçüncü değer, alt dize çıkarmanın durması gereken ilk değerde 0 tabanlı dizini gösterir ("ikinci değerden üçüncü değere kadar ancak üçüncü değere kadar" hariç).

Örnekler:

  • subText("abc def", 2, 5), c d başlayacak
  • subText("abc def", 2, 7), c def başlayacak
textLength()

Girdi dizesinin uzunluğunu hesaplar.

Operatörler

Kadran Biçimi, aşağıdaki dize değerlerini operatör olarak tanır:

+
Birden fazla değerin tekli artı veya eklenmesi. Hem tam sayıları hem de kayan nokta değerlerini destekler.
-
Birli eksi veya birden fazla değerin çıkarılması. Hem tam sayıları hem de kayan nokta değerlerini destekler.
*
Birden çok tam sayı veya kayan nokta değerinin çarpımı.
/

2 tam sayı veya kayan nokta değerinin bölümü.

2 tam sayının bölümü tam sayı olmayan bir değer ile sonuçlanırsa ondalık kısım, kayan nokta sonucunda korunur. Örneğin, $ \frac{1}{2} = 0.5 $.

Ayrıca, $ \frac{x}{0} $ ifadesi 0 olarak değerlendirilir. Burada $ x $, herhangi bir tam sayıdır.

%

2 tam sayı veya kayan nokta değerinin modüler bölme.

Her iki işlenen de tam sayıysa sonuç, 2 değerin bölünmesinden kalan değerdir. Örneğin, $ 19 \bmod 7 = 5 $.

En az bir işlenen sayı, kayan noktalı sayıysa sonuç, kalanın kayan nokta eşdeğeri olur. Örneğin: 19,0 ABD doları \bmod 7 = 5,0 ABD doları.

~

Bit tabanlı "not" operatörü. Birkaç örnek:

  • ~1 fiyatı -2 ABD dolarıdır
  • ~0 fiyatı: -1 ABD doları
!

Çift negatifleri destekleyen mantıksal "not" (değil) operatörü. Birkaç örnek:

  • $ !2 $ değeri: false
  • $ !!0 $ için true
|

Bit tabanlı "or" operatörü. 2'den fazla giriş değerini destekler. Birkaç örnek:

  • 1 TL | 0 = 1 TL
  • 1 TL | 2 | 4 = 7 TL
||
Mantıksal "or" operatörü.
&
İki yönlü "ve" operatörü. Tam olarak 2 giriş değerini destekler.
&&
Mantıksal "ve" operatörü.
(
Açık parantez. Çarpma ve bölmenin, toplama ve çıkarmaya göre genelde öncelikli olduğu işlemlerin standart sırasını değiştirmek için kullanılır.
)
Kapalı parantez. Çarpma ve bölmenin, toplama ve çıkarmaya göre genelde öncelikli olduğu işlemlerin standart sırasını değiştirmek için kullanılır.
<
"Küçüktür" karşılaştırma operatörü. Bir tam sayı değeri, kayan nokta eşdeğeriyle karşılaştırıldığında sonuç false olur.
<=
"Küçüktür veya eşittir" karşılaştırma operatörü. Bir tam sayı değeri, kayan nokta eşdeğeriyle karşılaştırıldığında sonuç true olur.
>
"Büyüktür" karşılaştırma operatörü. Bir tam sayı değeri, kayan nokta eşdeğeriyle karşılaştırıldığında sonuç false olur.
>=
"Büyüktür veya eşittir" karşılaştırma operatörü. Bir tam sayı değeri, kayan nokta eşdeğeriyle karşılaştırıldığında sonuç true olur.
? ve :

Üçlü işlemler için destek sağlar. Genel biçim aşağıdaki gibidir:

condition ? value_if_true : value_if_false

Parantez kullanarak iç içe yerleştirilmiş üçlü işlemleri destekler.

,

Birden fazla bağımsız değişken alan işlevlerdeki değerleri ayırır.

"

Bir değerin başına ve sonuna yerleştirildiğinde, Kadran Biçimi'nin değeri bir dize olarak yorumlaması gerektiğini belirtir.

==

Eşitlik için karşılaştırma yapın. Bir tam sayı değeri, kayan nokta eşdeğeriyle karşılaştırıldığında sonuç true olur.

!=

Eşitsizlik için karşılaştırma yapın. Bir tam sayı değeri, kayan nokta eşdeğeriyle karşılaştırıldığında sonuç false olur.