قواعد التعبير
ملاحظة
Microsoft Power Fx هو الاسم الجديد للغة الصيغة لتطبيقات اللوحة. هذه المقالات عبارة عن عمل قيد التقدم حيث نقوم باستخراج اللغة من تطبيقات اللوحة ودمجها مع منتجات Microsoft Power Platform الأخرى وجعلها متوفرة كمصدر مفتوح. ابدأ بـ نظرة عامة على Microsoft Power Fx لمقدمة عن اللغة.
يستند Microsoft Power Fx إلى الصيغ التي تربط اسمًا بتعبير. تمامًا كما هو الحال في أوراق عمل Excel، نظرًا لتغير التبعيات الواردة إلى التعبير، تتم إعادة حساب التعبير وتتغير قيمة الاسم، وربما يتم إعادة الحساب المتتالي إلى صيغ أخرى.
تغطي هذه المفردات جزء التعبير من الصيغة. ربط اسم لإنشاء صيغة يعتمد على كيفية تكامل Power Fx. في أوراق العمل، لا يتم الكشف عن بناء جملة الربط، بل يتم تضمينه من خلال الموقع الذي تمت كتابة التعبير فيه، على سبيل المثال، إدخال =B1
في الخلية A1. في بعض الحالات، لا يكون هناك ربط مطلوب على الإطلاق، بينما يتم استخدام Power Fx كمقيم تعبير، على سبيل المثال في دعم الأعمدة المحسوبة في جدول قاعدة البيانات. بالنسبة إلى Power Apps، يكون الربط ضمنيًا عند العمل في Power Apps Studio باستخدام تنسيق تسلسل يعتمد على YAML للاستخدام خارج Power Apps Studio.
الاتفاقية الخاصة بالتعبير
يتم عرض القواعد المعجمية والنحوية باستخدام الإنتاج النحوي. يحدد كل إنتاج غير طرفي رمزا غير طرفي والتوسعات المحتملة لذلك الرمز غير الطرفي في تسلسل من الرموز غير الطرفية أو الطرفية. في عمليات الإنتاج غير النهائية، يتم عرض الرموز غير الطرفية بالنوع الملئ، كما يتم عرض الرموز الطرفية في خط ثابت العرض.
السطر الأول من إنتاج نقطية هو اسم الرمز غير الطرفي الذي يتم تعريفه، يتبعه نقطه. يحتوي كل سطر متتالي ذي مسافة بادئة على توسع محتمل للرمز غير الطرفي المعطى على شكل سلسلة من الرموز غير الطرفية أو الرموز الطرفية. على سبيل المثال، الإنتاج:
المعرف العالمي:
[@
المعرف]
يحدد GlobalIdent أن تتكون من الرمز المميز[@
، متبوع بمعرف، يتبعه الرمز المميز]
.
وعندما يكون هناك أكثر من توسع محتمل واحد لرمز غير طرفي، يتم سرد البدائل في أسطر منفصلة. يستخدم الرمز "opt" للإشارة إلى رمز اختياري. على سبيل المثال، الإنتاج:
وظيفة الاتصال:
معرف الوظيفة(
FunctionArgumentsopt)
يكون اختصارا ل:
وظيفة الاتصال:
معرف الوظيفة(
)
معرف الوظيفة(
FunctionArguments)
عادةً ما يتم سرد البدائل في سطور منفصلة، على الرغم من أنه في الحالات التي يوجد فيها العديد من البدائل، قد تسبق عبارة "واحد من" قائمة التوسعات الواردة في سطر واحد. هذا ببساطة اختصار لإدراج كل بديل في سطور منفصلة.
على سبيل المثال، الإنتاج:
عشريرقم:واحد من
0
1
2
3
4
5
6
7
8
9
يكون اختصارا ل:
عشريرقم:
0
1
2
3
4
5
6
7
8
9
تحليل معجمي
يعرف إنتاج الوحدة اللغوية القوة اللغوية لتعبير Power Fx. يتوافق كل تعبير Power Fx صالح مع هذه الطريقة.
وحدة التعبير:
اختيار عناصر التعبير
عناصر التعبير:
عنصر التعبير
ExpressionElementExpressionElementsopt
على المستوى الكتابي، يتكون تعبير Power Fx من دفق من عناصر مسافة فارغة وتعليق ورمز مميز. تغطي الأقسام التالية كلا من هذه الإنتاجات. تكون العناصر الرمزية فقط ذات أهمية في المجمع اللغوي.
مسافة فارغة
يتم استخدام المسافة الفارغة لفصل التعليقات الرموز داخل مستند Power Apps.
المسافة البيضاء:
فاصل Unicode Space (فئة Zs)
فاصل Unicode Line (فئة Zl)
فاصل فقرة Unicode (class Zp)
حرف علامة التبويب الأفقي (U+0009)
حرف تغذية السطر (U+000A)
حرف علامة التبويب الرأسي (U+000B)
حرف تغذية النموذج (U+000C)
حرف جديد للنقل (U+000D)
حرف السطر التالي (U+0085)
التعليقات
يتم دعم نوعين من التعليقات:
- تعليقات من سطر واحد تبدأ بالحروف
//
وتمتد لنهاية السطر المصدر. - تعليقات مفبركة تبدأ بالحروف
/*
وتنتهي بالحروف*/
. يمكن أن تمتد التعليقات المحددة عبر أسطر متعددة.
تعليق:
تعليق محدود
سينجل لاينتعليق
تعليق مفرد:
//
SingleLineCommentCharactersopt
SingleLineCommentالشخصيات:
SingleLineCommentCharacter
SingleLineCommentCharacterSingleLineCommentCharactersopt
SingleLineCommentCharacter:
أي أحرف Unicode باستثناء NewLineCharacter
تعليق محدد:
/*
محدد التعليقاتالأحرفتختار*/
محددCommentCharacters:
محددتعليقالشخصياتلاعلامةالنجمة محدودةتعليقاختيارالشخصيات
*
محددتعليقبعدعلامة النجمةالأحرف
محددتعليقبعد علامة النجمةالشخصيات:
DelimitedCommentNoSlashAsteriskCharacterDelimitCommentCharactersopt
*
محددتعليقبعدعلامة النجمةالأحرف
DelimitedCommentCharacters NoAsterisk:
أي حرف Unicode باستثناء * (النجمة)
محدودتعليقNoSlashAsteriskCharacter:
أي حرف Unicode باستثناء * (النجمة) أو / (الشرطة المائلة)
التعليقات ليست متداخلة. لا تتضمن تسلسلات الأحرف /*
و*/
على معنى خاص في تعليق من سطر واحد، وتسلسلات الأحرف //
و/*
ليس لها معنى خاص في تعليق محدد.
لا تتم معالجة التعليقات ضمن سلاسل نصية حرفية.
يتضمن المثال التالي تعليقين مفتعلين:
/* Hello, world
*/
"Hello, world" /* This is an example of a text literal */
تتضمن الأمثلة التالية ثلاثة تعليقات من سطر واحد:
// Hello, world
//
"Hello, world" // This is an example of a text literal
الاحرف
القيمة الحرفية هو تمثيل شفرة المصدر لقيمة.
حرفي:
منطقي حرفي
العددالحرفي
النصالحرفي
الحالات المنطقية
يتم استخدام قيمة حرفية منطقية لكتابة القيم الصواب والخطأ، وإنتاج قيمة منطقية.
منطقي حرفي: واحد من
true
false
الأرقام المهينة
يتم استخدام قيمة حرفية رقمية لكتابة قيمة رقمية وإنتاج قيمة رقمية.
الرقمالحرفي:
عشريالأرقامالأسيجزءاختيار
عشريالأرقامعشريفاصلعشريالأرقامتختارالأسالجزءالاختياري
عشريفاصلعشريالأرقامالأسيجزءاختيار
عشريأرقام:
عشريرقمالرقم
عشريالأرقامعشريةعشري
عشريرقم:واحد من
0
1
2
3
4
5
6
7
8
9
الأسجزء:
الأس علامةالمؤشراختيارعشريالأرقام
رسائل نصية
يتم استخدام قيمة حرفية نصية لكتابة سلسلة من أحرف Unicode وإنتاج قيمة نصية. يتم وضع النصوص الحرفية بين علامات اقتباس مزدوجة. لتضمين علامات الاقتباس المزدوجة في القيمة النصية، كرر علامات الاقتباس المزدوجة، كما هو موضح في المثال التالي:
"The ""quoted"" text" // The "quoted" text
النصالحرفي:
"
اختيار TextLiteralCharacters"
الأحرف الحرفية النصية:
النصحرفيالحروفالحرفيةاختيار الأحرف
حرف النص:
TextCharacterNoDoubleQuote
دبل كوتيسكيب سيتيليشن
TextCharacterNoDoubleQuote:
أي نقطة رمز Unicode باستثناء عرض أسعار مزدوج
Identifiers
المعرف هو اسم يستخدم للإشارة إلى قيمة. قد تكون المعرفات إما معرفات منتظمة أو معرفات مفردة تم اقتباسها.
المعرف:
اسمالمعرف ولكنليسعامل التشغيلأوكلمة السياق الرئيسية
اسم المعرف:
IdentifierStartCharacterIdentifierContinueCharactersopt
'
سينجلكوتدمعرف'
IdentifierStartCharacter:
حرف
_
المعرفContinueCharacter:
IdentifierStartCharacter
عشريرقمحرف
ربط الشخصية
الجمعحرف
تنسيق حرف
IdentifierContinueCharacters:
IdentifierContinueCharacterIdentifierContinueCharactersopt
حرف الحرف:
أي حرف Unicode للفئة حرف كبير (Lu) أو حرف صغير (Ll)
أي حرف Unicode من فئة حرف حالة العنوان (Lt)
أي حرف Unicode من الفئة معدل الحرف (Lm) أو حرف آخر (Lo)
أي حرف Unicode من فئة حرف الرقم (Nl)
الجمع بين الشخصية:
أي حرف Unicode من الفئة علامة عدم التباعد (Mn) أو علامة الجمع بين المسافات (Mc)
عشريرقمحرف:
أي حرف Unicode من الفئة رقم عشري (Nd)
شخصية الاتصال:
أي حرف Unicode من الفئة ترقيم الموصل (Pc)
حرف التنسيق:
أي حرف Unicode من الفئة تنسيق (Cf)
المعرف الفردي المقتباس
يمكن أن يحتوي معرّف واحد مقتبس على أي تسلسل من أحرف Unicode لاستخدامها كمعرف، بما في ذلك الكلمات الأساسية والمسافات البيضاء والتعليقات والعوامل. يتم دعم أحرف علامة الاقتباس المفردة بتسلسل هروب من علامتي اقتباس مفردتين.
معرف مفرد:
سينجلكوبدمعرفالأحرف
الأحرف المفردة المقتبسة:
SingleQuotedIdentifierCharacterSingleQuotedIdentifierCharactersopt
سينجليكتودمعرفحرف:
TextCharacters NoSingleQuote
سينجلكوتسكيبسيت
TextCharacters NoSingleQuote:
أي حرف Unicode باستثناء ' (U+0027)
المعرف الواضح
معرف توضيحي:
TableColumnIdentifier
جلوبال ديفيد
معرف عمود الجدول:
معرف المعرف[@
...]
المعرف العالمي:
[@
المعرف]
الكلمات الأساسية في السياق
السياقالكلمة الرئيسية:
Parent
Self
ThisItem
ThisRecord
مميِّز لحالة الأحرف
تكون المعرفات حساسة حالة التحسس Power Apps. ستقوم أداة التأليف تلقائيًا بتغييرها إلى الحالة الصحيحة عند كتابة الصيغة.
فواصل
فاصل عشري:
.
(نقطة) للغات التي تستخدم نقطة كفاصل للأرقام العشرية، على سبيل المثال 1.23
,
(فاصلة) للغات التي تستخدم الفاصلة كفاصل للأرقام العشرية، على سبيل المثال 1,23
فاصل القائمة:
,
(فاصلة) إذا كان الفاصل .
العشري (نقطة)
;
(فاصلة منقوطة) إذا كان الفاصل ,
العشري (فاصلة)
فاصل التسلسل:
;
(فاصلة منقوطة) إذا كان الفاصل .
العشري (نقطة)
;;
(فاصلة منقوطة مزدوجة) إذا كان الفاصل ,
العشري (فاصلة)
Operators
يتم استخدام عوامل التشغيل في صيغ لوصف العمليات التي تتضمن واحدا أو أكثر من المياة. على سبيل المثال، a + b
يستخدم التعبير عامل التشغيل لإضافة المعاملين +
a
وb
.
المشغل:
مشغل ثنائي
ثنائي المشغليتطلب مسافة بيضاء
البادئةعامل التشغيل
PrefixOperatorRequiresWhitespace
عامل التشغيل بوستفيكسال
عامل التشغيل الثنائي: واحد من
=
<
<=
>
>=
<>
+
-
*
/
^
&
&&
||
in
exactin
BinaryOperatorRequiresWhitespace:
And
بيضاء
Or
بيضاء
البادئةالمشغليتطلب مسافة بيضاء:
Not
بيضاء
عامل تشغيل مرجعي
المرجععامل التشغيل:واحد من
.
!
مرجع الكائن
مرجع:
المرجع الأساسي
BaseReferenceReferenceOperatorReferenceList
مرجع القاعدة:
المعرف
معرف توضيحي
السياقالكلمات الرئيسية
قائمة المراجع:
المعرف
مرجع المعرفقائمةمراجع المشغل...
سجل سطر
سجل مضمن:
{
اختيار InlineRecordList}
InlineRecordList:
تعبير المعرف:
...
قائمة تعبيرات:
المعرففاصل...InlineRecordList
جدول سطور
جدول مضمن:
[
InlineTableListopt]
InlineTableList:
تعبير
قائمة التعبيرفاصل...InlineTableList
تعبير
تعبير:
حرفي
مرجع
سجل مضمن
جدول مضمن
وظيفة الاتصال
(
تعبير)
بادئةتعبير عامل التشغيل...
التعبيرPostfixOperator
تعبيرثنائيتعبير عامل التشغيل...
تعبيرات غير مشار لها
التعبير بالسلاسل:
تعبير
تسلسل التعبيرفاصل...ChainedExpressionopt
استدعاء الوظيفة
وظيفة الاتصال:
معرف الوظيفة(
FunctionArgumentsopt)
معرف الوظيفة:
المعرف
معرف.
وظيفةمعرف
الحجج الوظيفية:
التعبير المتسلسل
قائمة التعبيربالتسلسلالدالة الفاصلالحجج...