التعبير الحسابي

يشير ذلك المصطلح إلى مجموعة من الدوال والعمليات الحسابية التي تستخدمها عناصر "تنسيق خلفية شاشة الساعة" الأخرى لتحديد قيم السمات في الوقت الفعلي والتأثيرات الجيروسكوبية.

تم طرح هذا الإصدار في نظام التشغيل Wear OS 4.

مثال

مثال على التعبير لتدوير قيمة تصل إلى 5 درجات في أي من الاتجاهين، استنادًا إلى القيمة $ x $ لمقياس التسارع في جهاز Wear OS:

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

...وهذا ما يعادل التعبير الرياضي التالي، حيث يمثل $\theta_x $ زاوية مقياس التسارع في الاتجاه $ x $:

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

الدوال

يتعرف تنسيق خلفية شاشة الساعة على قيم السلسلة التالية كدوال:

الوظيفة الوصف نوع الإرجاع أماكن التوفّر
round() تحوِّل قيمة الإدخال إلى قيمة نقطة عائمة، ثم تنفِّذ العملية الحسابية العادية round(). عدد صحيح الإصدار 1
floor() تؤدي هذه الدالة إلى تنفيذ العملية الحسابية العادية في floor(). نافذة عائمة الإصدار 1
ceil() تؤدي هذه الدالة إلى تنفيذ العملية الحسابية العادية في ceil(). نافذة عائمة الإصدار 1
fract() تعرض الجزء الكسري من قيمة الإدخال، وهو جزء قيمة النقطة العائمة التي تظهر إلى يمين النقطة العشرية. نافذة عائمة الإصدار 1
sin() تؤدي هذه الدالة العملية المثلثية العادية إلى sin(). نافذة عائمة الإصدار 1
cos() تؤدي هذه الدالة العملية المثلثية العادية إلى cos(). نافذة عائمة الإصدار 1
tan() تؤدي هذه الدالة العملية المثلثية العادية إلى tan(). نافذة عائمة الإصدار 1
asin() تؤدي هذه الدالة العملية المثلثية العادية إلى asin(). تكون القيمة المعروضة دائمًا في النطاق $ [-\frac{\pi}{2}، \frac{\pi}{2}] $. نافذة عائمة الإصدار 1
acos() تؤدي هذه الدالة العملية المثلثية العادية إلى acos(). تكون القيمة المعروضة دائمًا ضمن النطاق $ [0.0, \pi] $. نافذة عائمة الإصدار 1
atan() تؤدي هذه الدالة العملية المثلثية العادية إلى atan(). تكون القيمة المعروضة دائمًا في النطاق $ [-\frac{\pi}{2}، \frac{\pi}{2}] $. نافذة عائمة الإصدار 1
abs() تحوِّل قيمة الإدخال إلى قيمة نقطة عائمة، ثم تنفِّذ العملية الحسابية العادية abs(). نافذة عائمة الإصدار 1
clamp(,,) تحوِّل قيم الإدخال إلى قيم نقطة عائمة، ثم يتم تنفيذ عملية clamp() Jetpack لتلائم القيمة الأولى في النطاق الذي يتم تحديده في القيم الثانية والثالثة. نافذة عائمة الإصدار 1
rand(,) تنشئ قيمة نقطة عائمة عشوائية تستوفي الشروط التالية في الوقت نفسه:
  • أكبر من أو تساوي القيمة الأولى.
  • أقل من أو تساوي القيمة الثانية.
يفترض أن القيمة الأولى أقل من القيمة الثانية أو تساويها.
نافذة عائمة الإصدار 1
log() لتنفيذ العملية الحسابية الأساسية باستخدام $ e $ log(). نافذة عائمة الإصدار 1
log2() يحاكي لوغاريتم الأساس 2. يتم حساب هذه القيمة من خلال قسمة الأساس 10 log() لقيمة الإدخال) على لوغاريتم الأساس 10 بقيمة 2 دولار أمريكي. نافذة عائمة الإصدار 1
log10() تؤدي هذه الدالة إلى العملية الحسابية ذات الأساس 10 log(). نافذة عائمة الإصدار 1
sqrt() تؤدي هذه الدالة إلى تنفيذ العملية الحسابية العادية في sqrt(). نافذة عائمة الإصدار 1
cbrt() تؤدي هذه الدالة إلى تنفيذ العملية الحسابية العادية في cbrt(). نافذة عائمة الإصدار 1
exp() تؤدي هذه الدالة إلى تنفيذ العملية الحسابية العادية في exp(). نافذة عائمة الإصدار 1
expm1() تستدعي العملية الحسابية expm1() مباشرةً إذا كانت قيمة الإدخال هي $ 1 $. بالنسبة إلى أي قيمة إدخال أخرى، تتم محاكاة الدالة من خلال تنفيذ العملية الحسابية exp() العادية، ثم طرح 1. نافذة عائمة الإصدار 1
deg() تؤدي هذه الدالة إلى تنفيذ العملية الحسابية العادية في toDegrees(). يتم تعريف $ \frac{\pi}{2} $ على أنه 90 درجة، و $ \pi $ يعني 180 درجة. نافذة عائمة الإصدار 1
rad() تؤدي هذه الدالة إلى تنفيذ العملية الحسابية العادية في toRadians(). 90 درجة تساوي $ \frac{\pi}{2} $، و180 درجة تساوي $ \pi $. نافذة عائمة الإصدار 1
pow(,) تؤدي هذه الدالة إلى تنفيذ العملية الحسابية العادية في pow(). تكون قيمة الإخراج دائمًا رقمًا من النقطة العائمة. نافذة عائمة الإصدار 1
numberFormat(,) لتطبيق تنسيق الأرقام في القيمة الأولى على القيمة الثانية. يمكن أن تحتوي القيمة الأولى على الأحرف التالية:
  • # -- يمثل رقمًا رقميًا.
  • , -- يمثل فاصلاً بين الأعداد الكبيرة.
  • . -- يمثل علامة عشرية.
سلسلة الإصدار 1
icuText()

تحوِّل سلسلة تنسيق تاريخ الإدخال إلى نمط يطابق تنسيق اللغة المتوقَّع. إذا كان العنصر الرئيسي PartText يتضمّن العنصر Localization، سيتم استخدام تنسيق تلك اللغة. بخلاف ذلك، سيتم استخدام اللغة الحالية لجهاز Wear OS.

على سبيل المثال، إذا كان الجهاز يُستخدم في الولايات المتحدة، تعرض قيمة الإدخال EE, MMM d, yyyy h:mm a الناتج التالي: Tue, Mar 14, 2023 1:59 PM

سلسلة الإصدار 1
icuText(,)

تحوِّل الوسيطة الأولى سلسلة تنسيق تاريخ الإدخال إلى نمط يطابق تنسيق اللغة المتوقَّع. الوسيطة الثانية هي سلسلة طابع زمني بالمللي ثانية.

إذا كان العنصر الرئيسي PartText يتضمّن العنصر Localization، سيتم استخدام تنسيق تلك اللغة. بخلاف ذلك، سيتم استخدام اللغة الحالية لجهاز Wear OS.

سلسلة الإصدار 2
icuBestText()

تحوِّل سلسلة تنسيق تاريخ الإدخال إلى الوقت الحالي الذي يتطابق نمطه مع التنسيق المتوقَّع. إذا كان العنصر الرئيسي PartText يتضمّن العنصر Localization، سيتم استخدام تنسيق تلك اللغة. بخلاف ذلك، سيتم استخدام اللغة الحالية لجهاز Wear OS.

على سبيل المثال، إذا كان الجهاز يُستخدم في الولايات المتحدة في 14 آذار (مارس) 2023 الساعة 1:59 مساءً، تؤدي القيمة المُدخلة yyyy MMM d EE a h:mm إلى النتيجة التالية: Tue, Mar 14, 2023, 1:59 PM

سلسلة الإصدار 1
icuBestText(,)

لتحويل الوسيطة الأولى سلسلة تنسيق تاريخ الإدخال إلى الوقت الحالي الذي يتطابق نمطه مع التنسيق المتوقع. الوسيطة الثانية هي سلسلة طابع زمني بالمللي ثانية.

إذا كان العنصر الرئيسي PartText يتضمّن العنصر Localization، سيتم استخدام تنسيق تلك اللغة. بخلاف ذلك، سيتم استخدام اللغة الحالية لجهاز Wear OS.

سلسلة الإصدار 2
subText(,,)

لاستخراج سلسلة فرعية من القيمة الأولى تشير القيمة الثانية إلى الفهرس المستند إلى 0 في القيمة الأولى حيث ينبغي أن تبدأ السلسلة الفرعية. تشير القيمة الثالثة إلى الفهرس المستند إلى 0 في القيمة الأولى حيث ينبغي أن يتوقف استخراج السلسلة الفرعية ("من القيمة الثانية إلى القيمة الثالثة بدون تضمينها").

أمثلة:
  • سيُقام subText("abc def", 2, 5) c d
  • سيُقام subText("abc def", 2, 7) c def
سلسلة الإصدار 1
textLength()

لحساب طول سلسلة الإدخال.

أمثلة:
  • سيُقام subText("abc def", 2, 5) c d
  • سيُقام subText("abc def", 2, 7) c def
سلسلة الإصدار 1

عوامل التشغيل

يتعرف تنسيق خلفية شاشة الساعة على قيم السلسلة التالية كعوامل تشغيل:

+
الجمع الأحادي أو إضافة قيم متعددة تدعم كلاً من الأعداد الصحيحة وقيم النقاط العائمة.
-
أحادي الطرح أو الطرح لقيم متعددة. تدعم كلاً من الأعداد الصحيحة وقيم النقاط العائمة.
*
ضرب عدة أعداد صحيحة أو قيم نقاط عائمة
/

قسمة عددين صحيحَين أو قيمتَين عائمتَين

إذا نتج عن قسمة عددين صحيحين قيمة لا تمثل عددًا صحيحًا، يتم الاحتفاظ بالجزء العشري في نتيجة النقطة العائمة. على سبيل المثال، $ \frac{1}{2} = 0.5 $.

بالإضافة إلى ذلك، يتم تقييم التعبير $ \frac{x}{0} $ على أنه 0، حيث $ x $ هو أي عدد صحيح.

%

قسمة معيارية لعددين صحيحَين أو قيمة نقطة عائمة

إذا كان كلا المعاملين عددين صحيحين، فإن الناتج هو الباقي من قسمة القيمتين. على سبيل المثال، 19 دولارًا \bmod 7 = 5 $.

إذا كان معامل واحد على الأقل رقمًا من نقطة عائمة، تكون النتيجة مكافئة بنقطة عائمة للباقي؛ على سبيل المثال: $ 19.0 \bmod 7 = 5.0 $.

~

عامل التشغيل "not" على مستوى البت. في ما يلي عدة أمثلة:

  • قيمة "~1" تتراوح بين دولارين أمريكيين ودولارين أمريكيين
  • قيمة "~0" تتراوح بين دولار أمريكي و1 دولار أمريكي
!

عامل تشغيل منطقي "not" يتيح استخدام السلبيات المزدوجة. في ما يلي عدة أمثلة:

  • قيمة $ !2 $ هي false
  • قيمة $ !!0 $ هي true
|

عامل التشغيل "or" على مستوى البت. يدعم أكثر من قيمتَي إدخال. في ما يلي عدة أمثلة:

  • $ 1 | 0 = 1 دولار أمريكي
  • 1 دولار أمريكي | 2 | 4 = 7 دولار أمريكي
||
عامل التشغيل المنطقي "or"
&
عامل التشغيل "and" بالعكس يتوافق مع قيمتَي إدخال بالضبط.
&&
عامل التشغيل المنطقي "and"
(
أقواس مفتوحة. يُستخدم لتغيير الترتيب القياسي للعمليات، حيث عادةً ما يكون للضرب والقسمة الأولوية على الجمع والطرح.
)
أقواس مغلقة يُستخدم لتغيير الترتيب القياسي للعمليات، حيث عادةً ما يكون للضرب والقسمة الأولوية على الجمع والطرح.
<
عامل المقارنة "أقل من". عند مقارنة قيمة عدد صحيح بمكافئ النقطة العائمة، تكون النتيجة false.
<=
عامل المقارنة "أقل من أو يساوي". عند مقارنة قيمة عدد صحيح بمكافئ النقطة العائمة، تكون النتيجة true.
>
عامل المقارنة "أكبر من". عند مقارنة قيمة عدد صحيح بمكافئ النقطة العائمة، تكون النتيجة false.
>=
عامل تشغيل المقارنة "أكبر من أو يساوي". عند مقارنة قيمة عدد صحيح بمكافئ النقطة العائمة، تكون النتيجة true.
? و:

يوفر دعمًا للعمليات الثلاثية. في ما يلي التنسيق العام:

condition ? value_if_true : value_if_false

تتيح العمليات الثلاثية المتداخلة باستخدام الأقواس.

,

يفصل القيم في الدوال التي تستخدم أكثر من وسيطة واحدة.

"

عند وضعها في بداية القيمة ونهايتها، يشير ذلك إلى أن تنسيق واجهة الساعة يجب أن يفسر القيمة كسلسلة.

==

قارن من أجل المساواة. عند مقارنة قيمة عدد صحيح بنقاط عائمة، تكون النتيجة true.

!=

قارِن مبدأ عدم المساواة. عند مقارنة قيمة عدد صحيح بمكافئ النقطة العائمة، تكون النتيجة false.