Aritmetik İfade

Diğer Saat Yüzü Biçimi öğelerinin gerçek zamanlı özellik değerlerini ve jiroskopik efektleri çözümlemek için kullandığı aritmetik işlevler ve işlemlerden oluşan bir koleksiyon.

Wear OS 4'te kullanıma sunuldu.

Örnek

Wear OS cihazın ivme ölçerinin $ x $ değerine dayalı olarak bir değeri her iki yönde de 5 dereceye kadar döndürmek için örnek bir ifade:

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

...bu, aşağıdaki 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

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

İşlev Açıklama Dönüş türü Kullanılabilirlik
round() Girdi değerini bir kayan nokta değerine dönüştürür ve ardından standart round() matematik işlemini gerçekleştirir. Tam sayı Sürüm 1
floor() Standart floor() matematik işlemini gerçekleştirir. Havada Süzülen Sürüm 1
ceil() Standart ceil() matematik işlemini gerçekleştirir. Havada Süzülen Sürüm 1
fract() Giriş değerinin kesirli kısmını, yani kayan nokta değerinin ondalık virgülünün sağında görünen kısmını döndürür. Havada Süzülen Sürüm 1
sin() Standart sin() trigonometrik işlemini gerçekleştirir. Havada Süzülen Sürüm 1
cos() Standart cos() trigonometrik işlemini gerçekleştirir. Havada Süzülen Sürüm 1
tan() Standart tan() trigonometrik işlemini gerçekleştirir. Havada Süzülen Sürüm 1
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. Havada Süzülen Sürüm 1
acos() Standart acos() trigonometrik işlemini gerçekleştirir. Döndürülen değer her zaman $ [0.0, \pi] $ aralığındadır. Havada Süzülen Sürüm 1
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. Havada Süzülen Sürüm 1
abs() Girdi değerini bir kayan nokta değerine dönüştürür ve ardından standart abs() matematik işlemini gerçekleştirir. Havada Süzülen Sürüm 1
clamp(,,) Giriş değerlerini kayan nokta değerlerine dönüştürür, ardından ikinci ve üçüncü değerlerle tanımlanan aralıktaki ilk değeri sığdırmak için clamp() Jetpack işlemini gerçekleştirir. Havada Süzülen Sürüm 1
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ğu varsayılır.
Havada Süzülen Sürüm 1
log() Standart $e e $ log() tabanlı matematik işlemini gerçekleştirir. Havada Süzülen Sürüm 1
log2() 2 tabanlı logaritmayı simüle eder. Bu değer, giriş değerinin 10 tabanındaki log() değeri), 2 ABD doları tutarındaki 10 tabanlı logaritmaya bölünür. Havada Süzülen Sürüm 1
log10() Standart 10 tabanlı log() matematik işlemini gerçekleştirir. Havada Süzülen Sürüm 1
sqrt() Standart sqrt() matematik işlemini gerçekleştirir. Havada Süzülen Sürüm 1
cbrt() Standart cbrt() matematik işlemini gerçekleştirir. Havada Süzülen Sürüm 1
exp() Standart exp() matematik işlemini gerçekleştirir. Havada Süzülen Sürüm 1
expm1() Girdi değeri 1 $ ise doğrudan expm1() matematik işlemini çağırır. Diğer tüm giriş değerlerinde standart exp() matematik işlemini gerçekleştirerek ve ardından 1'i çıkararak işlevi simüle eder. Havada Süzülen Sürüm 1
deg() Standart toDegrees() matematik işlemini gerçekleştirir. $ \frac{\pi}{2} $, 90 derece, $ \pi $ ise 180 derece olarak tanımlanır. Havada Süzülen Sürüm 1
rad() Standart toRadians() matematik işlemini gerçekleştirir. 90 derece, $ \frac{\pi}{2} $, 180 derece ise $ \pi $ olarak tanımlanır. Havada Süzülen Sürüm 1
pow(,) Standart pow() matematik işlemini gerçekleştirir. Çıkış değeri her zaman bir kayan noktalı sayıdır. Havada Süzülen Sürüm 1
numberFormat(,) İlk değerdeki sayı biçimini ikinci değere uygular. İlk değer aşağıdaki karakterleri içerebilir:
  • # -- Sayısal bir basamağı temsil eder.
  • , -- Büyük sayılarda virgül ayırıcısını temsil eder.
  • . -- ondalık basamağı temsil eder.
Dize Sürüm 1
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ı kullanılır.

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

Dize Sürüm 1
icuText(,)

İlk bağımsız değişken olan giriş tarihi biçimi dizesini, beklenen yerel ayar biçimiyle eşleşen bir kalıba dönüştürür. İkinci bağımsız değişken, milisaniye cinsinden bir zaman damgası dizesidir.

Ü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ı kullanılır.

Dize Sürüm 2
icuBestText()

Girdi 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ı kullanılır.

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

Dize Sürüm 1
icuBestText(,)

İlk bağımsız değişken olan giriş tarihi biçimi dizesini, kalıbı beklenen biçimle eşleşen geçerli saate dönüştürür. İkinci bağımsız değişken, milisaniye cinsinden bir zaman damgası dizesidir.

Ü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ı kullanılır.

Dize Sürüm 2
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ğerdeki 0 tabanlı dizini gösterir ("ikinci değerden üçüncü değere kadar olan ancak bu değeri içermez").

Örnekler:
  • subText("abc def", 2, 5), c d başlayacak
  • subText("abc def", 2, 7), c def başlayacak
Dize Sürüm 1
textLength()

Girdi dizesinin uzunluğunu hesaplar.

Örnekler:
  • subText("abc def", 2, 5), c d başlayacak
  • subText("abc def", 2, 7), c def başlayacak
Dize Sürüm 1

Operatörler

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

+
Birli artı veya birden fazla değerin 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ılması.
/

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

2 tam sayının bölünmesi tam sayı olmayan bir değer sonucunu verirse 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ölümü.

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

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

~

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

  • ~1 değeri: -2 ABD doları
  • ~0 değeri: $ -1 $
!

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

  • $ !2 $, false
  • $ !!0 $, 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ü.
(
Parantezi açın. Çarpma ve bölme işlemlerinin normalde toplama ve çıkarmaya göre öncelikli olduğu standart işlemlerin sırasını değiştirmek için kullanılır.
)
Kapalı parantez. Çarpma ve bölme işlemlerinin normalde toplama ve çıkarmaya göre öncelikli olduğu standart işlemlerin sırasını değiştirmek için kullanılır.
<
"Küçüktür" karşılaştırma operatörüdür. Bir tam sayı değerini kayan nokta eşdeğeriyle karşılaştırdığınızda sonuç false olur.
<=
"Küçüktür veya eşittir" karşılaştırma operatörüdü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üdür. Bir tam sayı değerini kayan nokta eşdeğeriyle karşılaştırdığınızda sonuç false olur.
>=
"Büyüktür veya eşittir" karşılaştırma operatörüdü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 üçlü işlemleri destekler.

,

1'den 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, Saat Yüzü Biçiminin değeri bir dize olarak yorumlaması gerektiğini belirtir.

==

Eşitlik için karşılaştırı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. Bir tam sayı değerini kayan nokta eşdeğeriyle karşılaştırdığınızda sonuç false olur.