Aritmetik İfade

Diğer Saat Kadranı Formatı öğelerinin, gerçek zamanlı özellik değerlerini ve jiroskopik efektleri çözmek için kullandığı aritmetik fonksiyonlar ve işlemler koleksiyonu.

Wear OS 4'te kullanıma sunuldu.

Örnek

Wear OS cihazının ivme ölçerinin $ x $ değerine dayalı olarak bir değeri herhangi bir yönde 5 dereceye kadar döndürmeyle ilgili örnek 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ünde ivme ölçer açısını temsil eder:

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

Fonksiyonlar

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

İşlev Açıklama Dönüş türü Kullanılabilirlik
round() Girdi değerini, 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() Girdi değerinin kesirli kısmını, yani ondalık noktanın sağında görünen kayan nokta değerinin parçası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ığında olur. 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ığında olur. 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ığında olur. Havada Süzülen Sürüm 1
abs() Girdi değerini, 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(,) Aynı anda aşağıdaki koşulları 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 ona eşit.
İlk değerin, ikinci değerden küçük veya bu değere eşit olduğu varsayılır.
Havada Süzülen Sürüm 1
log() Standart tabandaki $ e $ log() matematik işlemini gerçekleştirir. Havada Süzülen Sürüm 1
log2() 2 tabanındaki bir logaritmayı simüle eder. Bu değer, giriş değerinin 10 tabanındaki (log()) değeri, 2 $'ın 10 tabanlı logaritmasına 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() Giriş değeri 1 $ ise expm1() matematik işlemini doğrudan çağırır. Diğer tüm giriş değerleri için standart exp() matematik işlemini yapıp 1'i çıkarıp fonksiyonu 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} $ olarak, 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 kayan noktalı bir 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 sayıyı temsil eder.
Dize Sürüm 1
icuText()

Giriş tarih biçimi dizesini beklenen yerel ayar biçimiyle eşleşen bir kalıpa 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ı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

Dize Sürüm 1
icuText(,)

İlk bağımsız değişken olan giriş tarih biçimi dizesini, beklenen yerel ayar biçimiyle eşleşen bir kalıpa 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ın mevcut yerel ayarını kullanır.

Dize Sürüm 2
icuBestText()

Giriş tarih 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ın mevcut yerel ayarını kullanır.

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

Dize Sürüm 1
icuBestText(,)

Giriş tarih biçimi dizesi adlı ilk bağımsız değişkeni, kalıbı beklenen biçimle eşleşen geçerli zamana 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ın mevcut yerel ayarını kullanır.

Dize Sürüm 2
subText(,,)

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

Ö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()

Giriş 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ı Formatı, 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.
-
Birden fazla değerin birli eksi veya çıkarma işlemi. Hem tam sayıları hem de kayan nokta değerlerini destekler.
*
Birden fazla tam sayının veya kayan nokta değerinin çarpılması.
/

2 tam sayının veya kayan nokta değerlerinin bölünmesi.

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

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

%

2 tam sayının veya kayan nokta değerlerinin modüler bölümü.

Her iki işlem gören de tam sayıysa sonuç, 2 değerine bölündüğünde kalan değer olur. Örneğin $ 19 \bmod 7 = 5 $.

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

~

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

  • ~1 ABD doları - 2 ABD doları
  • ~0 ABD doları - 1 ABD doları
!

Çift negatifleri destekleyen mantıksal "not" operatörü. Birkaç örnek:

  • !2 $ için false
  • !!0 ABD doları: true
|

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

  • 1 TL | 0 = 1 TL
  • 1 TL | 2 | 4 = 7 TL
||
Mantıksal "or" operatörü.
&
Bit yönlü "ve" operatörü. Tam olarak 2 giriş değerini destekler.
&&
Mantıksal "ve" operatörü.
(
Parantez açın. Çarpma ve bölmenin normalde toplama ve çıkarma işleminden öncelikli olduğu standart işlem sırasını değiştirmek için kullanılır.
)
Kapalı parantez. Çarpma ve bölmenin normalde toplama ve çıkarma işleminden öncelikli olduğu standart işlem 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.

,

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ç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.