التعبيرات والدالات في Azure Data Factory وAzure Synapse Analytics

ينطبق على: Azure Data Factory Azure Synapse Analytics

تلميح

جرب Data Factory في Microsoft Fabric، وهو حل تحليلي متكامل للمؤسسات. يغطي Microsoft Fabric كل شيء بدءا من حركة البيانات إلى علم البيانات والتحليلات في الوقت الحقيقي والمعلومات المهنية وإعداد التقارير. تعرف على كيفية بدء إصدار تجريبي جديد مجانا!

توفر هذه المقالة تفاصيل حول التعبيرات والدالات التي يدعمها Azure Data Factory وAzure Synapse Analytics.

التعبيرات

قد تكون قيم JSON الواردة في التعريف حرفية أو تعبيرات يتم تقييمها في وقت التشغيل. على سبيل المثال:

"name": "value"

أو

"name": "@pipeline().parameters.password"

قد تظهر التعبيرات في أي مكان من قيمة سلسلة JSON وينتج عنها دائماً قيمة JSON أخرى. إذا كانت قيمة JSON تعبيراً، يتم استخراج نص التعبير عن طريق إزالة علامة(@). إذا كانت هناك حاجة إلى سلسلة حرفية تبدأ بـ @، فيجب تخطيها باستخدام @@. توضح الأمثلة التالية كيفية تقييم التعبيرات.

قيمة JSON نتيجة
"المعلمات" يتم إرجاع "معلمات" الأحرف.
"المعلمات[1]" يتم إرجاع "معلمات[1]" الأحرف.
"@@" تم إرجاع سلسلة مكونة من حرف واحد تحتوي على "@".
" @" تم إرجاع سلسلة مكونة من حرفين تحتوي على "@".

قد تظهر التعبيرات أيضاً داخل السلاسل، باستخدام ميزة تسمى استنتاج السلسلة حيث يتم تضمين التعبيرات في @{ ... }. على سبيل المثال: "name" : "First Name: @{pipeline().parameters.firstName} Last Name: @{pipeline().parameters.lastName}"

باستخدام استنتاج السلسلة، تكون النتيجة دائماً ضمن سلسلة. لنفترض أنني عرّفت myNumber على أنه 42 وmyString على أنه foo:

قيمة JSON نتيجة
"@pipeline().parameters.myString" إرجاع foo كسلسلة.
"@{pipeline().parameters.myString}" إرجاع foo كسلسلة.
"@pipeline().parameters.myNumber" إرجاع 42كعدد.
"@{pipeline().parameters.myNumber}" إرجاع 42 كسلسلة.
"الإجابة هي: @{pipeline().parameters.myNumber}" إرجاع السلسلة Answer is: 42.
"@concat('Answer is: ', string(pipeline().parameters.myNumber))" إرجاع السلسلة Answer is: 42
"Answer is: @@{pipeline().parameters.myNumber}" إرجاع السلسلة Answer is: @{pipeline().parameters.myNumber}.

في أنشطة تدفق عنصر التحكم مثل نشاط ForEach، يمكنك توفير مصفوفة ليتم تكرارها لعناصر الخاصية واستخدام @item() للتكرار عبر تعداد واحد في نشاط ForEach. على سبيل المثال، إذا كانت العناصر عبارة عن صفيف: [1، 2، 3]، @item() ترجع 1 في التكرار الأول، و2 في التكرار الثاني، و3 في التكرار الثالث. يمكنك أيضاً استخدام تعبير مثل @range(0,10) للتكرار عشر مرات بدءاً من 0 وتنتهي بالرقم 9.

يمكنك استخدام @activity('activity name') للحصول على ناتج النشاط واتخاذ القرارات. ضع في اعتبارك نشاط عبر الإنترنت يُسمى Web1. لوضع ناتج النشاط الأول في نص الثاني، يبدو التعبير عموماً مثل: @activity('Web1'). output أو @activity('Web1'). output.data أو شيء مشابه بناءً على ما يبدو عليه ناتج النشاط الأول.

الأمثلة

مثال التعبير المعقد

يوضح المثال أدناه مثالاً معقداً يشير إلى حقل فرعي عميق لناتج النشاط. للإشارة إلى معلمة تدفقات يتم تقييمها إلى حقل فرعي، استخدم بناء الجملة [] بدلاً من عامل dot(.) (كما في حالة الحقل الفرعي 1 والحقل الفرعي 2)، كجزء من ناتج النشاط.

@activity('*activityName*').output.*subfield1*.*subfield2*[pipeline().parameters.*subfield3*].*subfield4*

يعد إنشاء الملفات ديناميكياً وتسميتها نمطاً شائعاً. دعونا نستكشف بعض أمثلة تسمية الملفات الديناميكية.

  1. إلحاق التاريخ باسم ملف: @concat('Test_', formatDateTime(utcnow(), 'yyyy-dd-MM'))

  2. إلحاق التاريخ والوقت بالمنطقة الزمنية للعميل: @concat('Test_', convertFromUtc(utcnow(), 'Pacific Standard Time'))

  3. إلحاق وقت المشغل : @concat('Test_', pipeline().TriggerTime)

  4. إخراج اسم ملف مخصص في تعيين تدفق البيانات عند الإخراج إلى ملف واحد بتاريخ: 'Test_' + toString(currentDate()) + '.csv'

في الحالات المذكورة أعلاه، يتم إنشاء 4 أسماء ملفات ديناميكية تبدأ بـ Test_.

محرر المحتوى الديناميكي

يتخطى محرر المحتوى الديناميكي تلقائياً الأحرف الموجودة في المحتوى الخاص بك عند الانتهاء من التحرير. على سبيل المثال، المحتوى التالي في محرر المحتوى عبارة عن استنتاج سلسلة مع دالتين تعبيريتين.

{ 
  "type": "@{if(equals(1, 2), 'Blob', 'Table' )}",
  "name": "@{toUpper('myData')}"
}

يقوم محرر المحتوى الديناميكي بتحويل المحتوى أعلاه إلى تعبير "{ \n \"type\": \"@{if(equals(1, 2), 'Blob', 'Table' )}\",\n \"name\": \"@{toUpper('myData')}\"\n}". ينتج هذا التعبير عن سلسلة بتنسيق JSON موضحة أدناه.

{
  "type": "Table",
  "name": "MYDATA"
}

مجموعة بيانات ذات معلمة

في المثال التالي، تأخذ BlobDataset معلمة باسم path. يتم استخدام قيمته لتعيين قيمة للخاصية folderPath باستخدام التعبير: dataset().path.

{
    "name": "BlobDataset",
    "properties": {
        "type": "AzureBlob",
        "typeProperties": {
            "folderPath": "@dataset().path"
        },
        "linkedServiceName": {
            "referenceName": "AzureStorageLinkedService",
            "type": "LinkedServiceReference"
        },
        "parameters": {
            "path": {
                "type": "String"
            }
        }
    }
}

تدفقات ذات معلمات

في المثال التالي، تأخذ التدفقات معلمات inputPath وoutputPath. يتم تعيين المسار لمجموعة البيانات الثنائية الكبيرة ذات المعلمات باستخدام قيم هذه المعلمات. بناء الجملة المستخدم هنا هو: pipeline().parameters.parametername.

{
    "name": "Adfv2QuickStartPipeline",
    "properties": {
        "activities": [
            {
                "name": "CopyFromBlobToBlob",
                "type": "Copy",
                "inputs": [
                    {
                        "referenceName": "BlobDataset",
                        "parameters": {
                            "path": "@pipeline().parameters.inputPath"
                        },
                        "type": "DatasetReference"
                    }
                ],
                "outputs": [
                    {
                        "referenceName": "BlobDataset",
                        "parameters": {
                            "path": "@pipeline().parameters.outputPath"
                        },
                        "type": "DatasetReference"
                    }
                ],
                "typeProperties": {
                    "source": {
                        "type": "BlobSource"
                    },
                    "sink": {
                        "type": "BlobSink"
                    }
                }
            }
        ],
        "parameters": {
            "inputPath": {
                "type": "String"
            },
            "outputPath": {
                "type": "String"
            }
        }
    }
}

استبدال الأحرف الخاصة

يتخطى محرر المحتوى الديناميكي تلقائياً الأحرف مثل الاقتباس المزدوج والشرطة المائلة العكسية في المحتوى الخاص بك عند الانتهاء من التحرير. يؤدي هذا إلى حدوث مشكلة إذا كنت تريد استبدال تغذية السطر أو علامة التبويب باستخدام \n, \t في دالة replace(). يمكنك تحرير المحتوى الديناميكي الخاص بك في طريقة عرض التعليمات البرمجية لإزالة \ الزائدة في التعبير، أو يمكنك اتباع الخطوات التالية لاستبدال الأحرف الخاصة باستخدام لغة التعبير:

  1. ترميز URL مقابل قيمة السلسلة الأصلية
  2. استبدل السلسلة المرمزة باستخدام URL، على سبيل المثال، تغذية سطر (٪ 0A)، ورجوع إلى أول السطر (٪ 0D)، وعلامة تبويب أفقية (٪ 09).
  3. فك ترميز URL

على سبيل المثال، يمكن لمتغير companyName الذي يحتوي على حرف سطر جديد في قيمته، والتعبير @uriComponentToString(replace(uriComponent(variables('companyName')), '%0A', '')) أن يزيل حرف السطر الجديد.

Contoso-
Corporation

تخطي حرف اقتباس مفرد

تستخدم دالات التعبير في البنية الأساسية لبرنامج ربط العمليات التجارية علامة الاقتباس المفردة (') لإحاطة معلمات قيمة السلسلة. استخدم حرفي اقتباس مفردين متتاليين داخل تعبير سلسلة البنية الأساسية لبرنامج ربط العمليات التجارية لتضمين اقتباس واحد. فيما يلي مثال: سيرجع التعبير @concat('Here is a double quote character: ". ', 'And here is a single quote character all within the same string: ''.') النتيجة التالية:

Here is a double quote character: ". And here is a single quote character all within the same string: '.

ومع ذلك، في تعبيرات تدفق البيانات، لا يتم دعم بناء الجملة هذا. بدلا من ذلك، يمكن أن تكون تعبيرات تدفق البيانات محاطة إما بعلامات اقتباس مفردة أو مزدوجة. قم بإحاطة النص الذي يتطلب علامات اقتباس مفردة ضمن علامات اقتباس مزدوجة، والنص الذي يتطلب علامات اقتباس مزدوجة داخل علامات اقتباس مفردة، ضمن دالات السلسلة. إذا كنت تحتاج إلى سلسلة تحتوي على علامات اقتباس مفردة ومزدوجة، يمكنك استخدام concat() لدمج سلسلتين فرعيتين تحتوي كل منهما على علامات اقتباس مفردة أو علامات اقتباس مزدوجة. سيكون concat('Here is a double quote character: ". ', "And here is a single quote character all within the same string: '.")مكافئ تدفق البيانات لمثال تعبير المسار السابق هو . في تدفق البيانات، سيرجع هذا التعبير نفس النتيجة مثل المثال السابق لتعبيرات البنية الأساسية لبرنامج ربط العمليات التجارية.

برنامج تعليمي

يرشدك هذا البرنامج التعليمي إلى كيفية تمرير المعلمات بين التدفقات والنشاط وكذلك بين الأنشطة. يوضح البرنامج التعليمي على وجه التحديد الخطوات الخاصة لـ Azure Data Factory رغم أن خطوات مساحة عمل Synapse متكافئة تقريباً ولكن بواجهة مستخدم مختلفة قليلاً.

الوظائف

يمكنك استدعاء الدالات داخل التعبيرات. توفر الأقسام التالية معلومات حول الدالات التي يمكن استخدامها في تعبير.

دوال التاريخ

دالة التاريخ أو الوقت مهمة
addDays إضافة عدد من الأيام إلى الطابع الزمني.
addHours إضافة عدد من الساعات إلى الطابع الزمني.
addMinutes إضافة عدد من الدقائق إلى الطابع الزمني.
addSeconds إضافة عدد من الثواني إلى الطابع الزمني.
addToTime إضافة عدد من وحدات الوقت إلى الطابع الزمني. انظر كذلك getFutureTime.
convertFromUtc تحويل طابع زمني من تنسيق التوقيت العالمي (UTC) إلى المنطقة الزمنية الهدف.
convertTimeZone تحويل طابع زمني من المنطقة الزمنية المصدر إلى المنطقة الزمنية الهدف.
convertToUtc تحويل طابع زمني من المنطقة الزمنية المصدر إلى تنسيق التوقيت العالمي (UTC).
dayOfMonth إرجاع مكون أيام الشهر من الطابع زمني.
dayOfWeek إرجاع مكون يوم الأسبوع من الطابع الزمني.
dayOfYear إرجاع مكون أيام السنة من الطابع زمني.
formatDateTime إرجاع الطابع الزمني كسلسلة بتنسيق اختياري.
getFutureTime إرجاع الطابع الزمني الحالي بالإضافة إلى وحدات الوقت المحددة. انظر كذلك addToTime.
getPastTime إرجاع الطابع الزمني الحالي مطروحاً منه الوحدات الزمنية المحددة. انظر كذلك subtractFromTime.
startOfDay إرجاع بداية اليوم للحصول على طابع زمني.
startOfHour إرجاع بداية الساعة للحصول على طابع زمني.
startOfMonth إرجاع بداية الشهر للحصول على طابع زمني.
subtractFromTime طرح عدد من وحدات الوقت من الطابع الزمني. انظر كذلك getPastTime.
القراد إرجاع قيمة الخاصية ticks لطابع زمني محدد.
utcNow إرجاع الطابع الزمني الحالي كسلسلة.

دالات السلسلة

للعمل مع السلاسل، يمكنك استخدام دالات السلسلة هذه وكذلك بعض دالات المجموعة. تعمل دالات السلسلة فقط على السلاسل.

دالة السلسلة مهمة
concat ضم سلسلتين أو أكثر، ثم إرجاع السلسلة المدمجة.
endsWith التحقق مما إذا كانت سلسلة تنتهي بالسلسلة الفرعية المحددة.
دليل إنشاء معرف فريد عمومي (GUID) كسلسلة.
indexOf إرجاع موضع البداية لسلسلة فرعية.
lastIndexOf إرجاع موضع البداية لآخر تكرار لسلسة فرعية.
replace استبدال سلسلة فرعية بالسلسلة المحددة، ثم إرجاع السلسلة المحدثة.
split تقسيم سلسلة عند كل تكرار محدد محدد، مع إرجاع السلاسل الفرعية الناتجة كعناصر من صفيف.
startsWith تحقق مما إذا كانت سلسلة تبدأ بسلسلة فرعية معينة.
substring إرجاع أحرف من سلسلة، بدءاً من الموضع المحدد.
toLower إرجاع سلسلة بتنسيق أحرف صغيرة.
toUpper إرجاع سلسلة بتنسيق أحرف كبيرة.
trim إزالة المسافة البيضاء البادئة والزائدة من سلسلة، ثم إرجاع السلسلة المحدثة.

دالات التحصيل

للعمل مع المجموعات، والصفائف عموماً، والسلاسل، والقواميس أحياناً، يمكنك استخدام دالات الجمع هذه.

دالة المجموعة مهمة
تحتوي على التحقق مما إذا كانت المجموعة تحتوي على عنصر معين.
فارغ التحقق مما إذا كانت المجموعة فارغة أم لا.
أولاً إرجاع العنصر الأول من المجموعة.
intersection إرجاع مجموعة تحتوي فقط على العناصر المشتركة عبر المجموعات المحددة.
join إرجاع سلسلة تحتوي على جميع العناصر من مصفوفة، مفصولة بالحرف المحدد.
last إرجاع العنصر الأخير من مجموعة.
الطول إرجاع عدد العناصر في سلسلة أو مصفوفة.
تخطي إزالة العناصر من مقدمة المجموعة، وإعادة جميع العناصر الأخرى.
الوقت المستغرق إرجاع العناصر من مقدمة المجموعة.
union إرجاع مجموعة تحتوي على جميع العناصر من المجموعات المحددة.

الدالات المنطقية

هذه الدالات مفيدة في الظروف الداخلية، ويمكن استخدامها لتقييم أي نوع من المنطق.

دالة المقارنة المنطقية مهمة
و التحقق مما إذا كانت جميع التعبيرات صحيحة.
equals التحقق مما إذا كانت كلتا القيمتين متساويتين.
greater التحقق مما إذا كانت القيمة الأولى أكبر من القيمة الثانية.
greaterOrEquals التحقق مما إذا كانت القيمة الأولى أكبر من أو مساوية للقيمة الثانية.
if التحقق مما إذا كان التعبير صحيحاً أم خطأ. بناءً على النتيجة، قم بإرجاع قيمة محددة.
less التحقق مما إذا كانت القيمة الأولى أقل من القيمة الثانية.
lessOrEquals التحقق مما إذا كانت القيمة الأولى أقل من أو مساوية للقيمة الثانية.
not التحقق مما إذا كان التعبير غير صحيح.
أو التحقق مما إذا كان هناك تعبير واحد على الأقل صحيح.

دالات التحويل

تُستخدم هذه الدالات للتحويل بين جميع الأنواع الأصلية في اللغة:

  • سلسلة
  • integer
  • عائم
  • boolean
  • الصفائف
  • القواميس
دالة التحويل مهمة
صفيف إرجاع صفيف من إدخال واحد محدد. للحصول على مدخلات متعددة، انظر createArray.
قاعدة 64 إرجاع الإصدار المرمّز باستخدام base64 لإحدى السلاسل.
base64ToBinary إرجاع الإصدار الثنائي لسلسلة مرمّزة باستخدام base64.
base64ToString إرجاع إصدار السلسلة لسلسلة مرمّزة باستخدام base64.
binary إرجاع الإصدار الثنائي لقيمة إدخال.
bool إرجاع الإصدار المنطقي لقيمة إدخال.
coalesce إرجاع القيمة غير الفارغة الأولى من معلمة واحدة أو أكثر.
createArray إرجاع صفيف من مدخلات متعددة.
dataUri إرجاع URI للبيانات لقيمة إدخال.
dataUriToBinary إرجاع الإصدار الثنائي لـ URI للبيانات.
dataUriToString إرجاع إصدار السلسلة لـ URI للبيانات.
decodeBase64 إرجاع إصدار السلسلة لسلسلة مرمّزة باستخدام base64.
decodeDataUri إرجاع الإصدار الثنائي لـ URI للبيانات.
decodeUriComponent إرجاع سلسلة استبدال أحرف الإلغاء بإصدارات غير مرمزة.
encodeUriComponent إرجاع سلسلة يستبدل أحرف URL غير الآمنة بأحرف الإلغاء.
طفا إرجاع رقم فاصلة عائمة لقيمة إدخال.
الباحث إرجاع إصدار صحيح لسلسلة.
json بإرجاع قيمة نوع JavaScript Object Notation (JSON) أو كائن لسلسلة أو XML.
string إرجاع إصدار السلسلة لقيمة إدخال.
uriComponent إرجاع إصدار URI المرمز لقيمة إدخال عن طريق استبدال أحرف URL غير الآمنة بأحرف إلغاء.
uriComponentToBinary إرجاع الإصدار الثنائي لسلسلة URI المرمزة.
uriComponentToString إرجاع إصدار السلسلة لسلسلة URI المرمزة.
xml إرجاع إصدار XML لسلسلة.
xpath التحقق من XML للعقد أو القيم التي تطابق تعبير XPath (لغة مسار XML)، ثم إرجاع العقد أو القيم المتطابقة.

دالات رياضيات

يمكن استخدام هذه الدالات لجميع أنواع الأعداد: أعداد صحيحة وأعداد عائمة.

الدالة الرياضية مهمة
add إرجاع الناتج من إضافة رقمين.
div إرجاع النتيجة من قسمة رقم واحد على رقم آخر.
max إرجاع القيمة الأعلى من مجموعة من الأرقام أو صفيف.
دقيقه إرجاع القيمة الأقل من مجموعة من الأرقام أو صفيف.
mod إرجاع الباقي من قسمة رقم واحد على رقم آخر.
mul إرجاع الناتج من ضرب رقمين.
rand إرجاع عدد صحيح عشوائي من نطاق محدد.
النطاق إرجاع صفيف عدد صحيح يبدأ من عدد صحيح محدد.
sub إرجاع النتيجة من طرح رقم واحد من رقم آخر.

مرجع الدالة

يسرد هذا القسم جميع الدالات المتوفرة بالترتيب الأبجدي.

add

إرجاع الناتج من إضافة رقمين.

add(<summand_1>, <summand_2>)
المعلمة‬ المطلوب نوع ‏‏الوصف
<مجمع_1>، <مجمع_2> ‏‏نعم‬ عدد صحيح أو عائم أو مختلط الأرقام التي تجب إضافتها
قيمة الإرجاع النوع ‏‏الوصف
<result-sum> عدد صحيح أو عائم نتيجة إضافة الأرقام المحددة

مثال

يضيف هذا المثال الأرقام المحددة:

add(1, 1.5)

وإرجاع هذه النتيجة: 2.5

addDays

إضافة عدد من الأيام إلى الطابع الزمني.

addDays('<timestamp>', <days>, '<format>'?)
المعلمة‬ المطلوب نوع ‏‏الوصف
<الطابع الزمني> ‏‏نعم‬ السلسلة‬ السلسلة التي تحتوي على الطابع الزمني
<الأيام> ‏‏نعم‬ رقم صحيح العدد الموجب أو السالب للأيام الذي يجب إضافته
<format> لا السلسلة‬ إما محدد تنسيق فردي أو نمط تنسيق مخصص. يُعد التنسيق الافتراضي للطابع الزمني هو «o» (yyyy-MM-ddTHH:mm:ss.fffffffK)، والذي يتوافق مع ISO 8601 ويحافظ على معلومات المنطقة الزمنية.
قيمة الإرجاع النوع ‏‏الوصف
<الطابع الزمني المحدث> السلسلة‬ الطابع الزمني بالإضافة إلى عدد الأيام المحدد

مثال 1

يضيف هذا المثال 10 أيام إلى الطابع الزمني المحدد:

addDays('2018-03-15T13:00:00Z', 10)

وإرجاع هذه النتيجة: "2018-03-25T00:00:0000000Z"

مثال 2

يطرح هذا المثال خمسة أيام من الطابع الزمني المحدد:

addDays('2018-03-15T00:00:00Z', -5)

وإرجاع هذه النتيجة: "2018-03-10T00:00:0000000Z"

addHours

إضافة عدد من الساعات إلى الطابع الزمني.

addHours('<timestamp>', <hours>, '<format>'?)
المعلمة‬ المطلوب نوع ‏‏الوصف
<الطابع الزمني> ‏‏نعم‬ السلسلة‬ السلسلة التي تحتوي على الطابع الزمني
<hour>s ‏‏نعم‬ رقم صحيح العدد الموجب أو السالب للساعات التي يجب إضافتها
<format> لا السلسلة‬ إما محدد تنسيق فردي أو نمط تنسيق مخصص. يُعد التنسيق الافتراضي للطابع الزمني هو «o» (yyyy-MM-ddTHH:mm:ss.fffffffK)، والذي يتوافق مع ISO 8601 ويحافظ على معلومات المنطقة الزمنية.
قيمة الإرجاع النوع ‏‏الوصف
<الطابع الزمني المحدث> السلسلة‬ الطابع الزمني بالإضافة إلى عدد الساعات المحددة

مثال 1

يضيف هذا المثال 10 ساعات إلى الطابع الزمني المحدد:

addHours('2018-03-15T00:00:00Z', 10)

وإرجاع هذه النتيجة: "2018-03-15T10:00:0000000Z"

مثال 2

يطرح هذا المثال خمسة ساعات من الطابع الزمني المحدد:

addHours('2018-03-15T15:00:00Z', -5)

وإرجاع هذه النتيجة: "2018-03-15T10:00:0000000Z"

addMinutes

إضافة عدد من الدقائق إلى الطابع الزمني.

addMinutes('<timestamp>', <minutes>, '<format>'?)
المعلمة‬ المطلوب نوع ‏‏الوصف
<الطابع الزمني> ‏‏نعم‬ السلسلة‬ السلسلة التي تحتوي على الطابع الزمني
<الدقائق > ‏‏نعم‬ رقم صحيح العدد الموجب أو السالب للدقائق التي يجب إضافتها
<format> لا السلسلة‬ إما محدد تنسيق فردي أو نمط تنسيق مخصص. يُعد التنسيق الافتراضي للطابع الزمني هو «o» (yyyy-MM-ddTHH:mm:ss.fffffffK)، والذي يتوافق مع ISO 8601 ويحافظ على معلومات المنطقة الزمنية.
قيمة الإرجاع النوع ‏‏الوصف
<الطابع الزمني المحدث> السلسلة‬ الطابع الزمني بالإضافة إلى عدد الدقائق المحددة

مثال 1

يضيف هذا المثال 10 دقائق إلى الطابع الزمني المحدد:

addMinutes('2018-03-15T00:10:00Z', 10)

وإرجاع هذه النتيجة: "2018-03-15T00:20:00.0000000Z"

مثال 2

يطرح هذا المثال خمس دقائق من الطابع الزمني المحدد:

addMinutes('2018-03-15T00:20:00Z', -5)

وإرجاع هذه النتيجة: "2018-03-15T00:15:00.0000000Z"

addSeconds

إضافة عدد من الثواني إلى الطابع الزمني.

addSeconds('<timestamp>', <seconds>, '<format>'?)
المعلمة‬ المطلوب نوع ‏‏الوصف
<الطابع الزمني> ‏‏نعم‬ السلسلة‬ السلسلة التي تحتوي على الطابع الزمني
<seconds> ‏‏نعم‬ رقم صحيح العدد الموجب أو السالب للثواني التي يجب إضافتها
<format> لا السلسلة‬ إما محدد تنسيق فردي أو نمط تنسيق مخصص. يُعد التنسيق الافتراضي للطابع الزمني هو «o» (yyyy-MM-ddTHH:mm:ss.fffffffK)، والذي يتوافق مع ISO 8601 ويحافظ على معلومات المنطقة الزمنية.
قيمة الإرجاع النوع ‏‏الوصف
<الطابع الزمني المحدث> السلسلة‬ الطابع الزمني بالإضافة إلى عدد الثواني المحددة

مثال 1

يضيف هذا المثال 10 ثوانٍ إلى الطابع الزمني المحدد:

addSeconds('2018-03-15T00:00:00Z', 10)

وإرجاع هذه النتيجة: "2018-03-15T00:00:10.0000000Z"

مثال 2

يطرح هذا المثال خمس ثوانٍ من الطابع الزمني المحدد:

addSeconds('2018-03-15T00:00:30Z', -5)

وإرجاع هذه النتيجة: "2018-03-15T00:00:25.0000000Z"

addToTime

إضافة عدد من وحدات الوقت إلى الطابع الزمني. انظر كذلك getFutureTime().

addToTime('<timestamp>', <interval>, '<timeUnit>', '<format>'?)
المعلمة‬ المطلوب نوع ‏‏الوصف
<الطابع الزمني> ‏‏نعم‬ السلسلة‬ السلسلة التي تحتوي على الطابع الزمني
<الفاصل الزمني> ‏‏نعم‬ رقم صحيح عدد الوحدات الزمنية المحددة المطلوب إضافتها
<timeUnit> ‏‏نعم‬ السلسلة‬ وحدة الوقت المراد استخدامها مع الفاصل الزمني: "الثانية"، و"الدقيقة"، و"الساعة"، و"اليوم"، و"الأسبوع"، و"الشهر"، و"السنة"
<format> لا السلسلة‬ إما محدد تنسيق فردي أو نمط تنسيق مخصص. يُعد التنسيق الافتراضي للطابع الزمني هو «o» (yyyy-MM-ddTHH:mm:ss.fffffffK)، والذي يتوافق مع ISO 8601 ويحافظ على معلومات المنطقة الزمنية.
قيمة الإرجاع النوع ‏‏الوصف
<الطابع الزمني المحدث> السلسلة‬ الطابع الزمني بالإضافة إلى عدد الوحدات الزمنية

مثال 1

يضيف هذا المثال يوم واحد إلى الطابع الزمني المحدد:

addToTime('2018-01-01T00:00:00Z', 1, 'Day')

وإرجاع هذه النتيجة: "2018-01-02T00:00:00.0000000Z"

مثال 2

يضيف هذا المثال يوم واحد إلى الطابع الزمني المحدد:

addToTime('2018-01-01T00:00:00Z', 1, 'Day', 'D')

وإرجاع النتيجة باستخدام تنسيق "D" الاختياري: "Tuesday, January 2, 2018"

و

تحقق مما إذا كان كلا التعبيرين صحيحين. إرجاع true عندما يكون التعبيران صحيحين، أو إرجاع false عندما يكون تعبير واحد على الأقل غير صحيح.

and(<expression1>, <expression2>)
المعلمة‬ المطلوب نوع ‏‏الوصف
<expression1>، <expression2> ‏‏نعم‬ Boolean التعبيرات التي يجب التحقق منها
قيمة الإرجاع النوع ‏‏الوصف
صواب أو خطأ Boolean إرجاع true عندما يكون التعبيران صحيحين. إرجاع false عندما يكون تعبير واحد على الأقل غير صحيح.

مثال 1

تحقق هذه الأمثلة ما إذا كانت القيم المنطقية المحددة صحيحة أم لا:

and(true, true)
and(false, true)
and(false, false)

وإرجاع هذه النتائج:

  • المثال الأول: كلا التعبيرين صحيحان، لذا يتم إرجاع true.
  • المثال الثاني: أحد التعبيرين خطأ، لذا يتم إرجاع false.
  • المثال الثالث: كلا التعبيرين خطأ، لذا يتم إرجاع false.

مثال 2

تتحقق هذه الأمثلة مما إذا كانت التعابير المحددة صحيحة أم لا:

and(equals(1, 1), equals(2, 2))
and(equals(1, 1), equals(1, 2))
and(equals(1, 2), equals(1, 3))

وإرجاع هذه النتائج:

  • المثال الأول: كلا التعبيرين صحيحان، لذا يتم إرجاع true.
  • المثال الثاني: أحد التعبيرين خطأ، لذا يتم إرجاع false.
  • المثال الثالث: كلا التعبيرين خطأ، لذا يتم إرجاع false.

صفيف

إرجاع صفيف من إدخال واحد محدد. للحصول على مدخلات متعددة، انظر createArray().

array('<value>')
المعلمة‬ المطلوب نوع ‏‏الوصف
<قيمة> ‏‏نعم‬ السلسلة‬ السلسلة لإنشاء صفيف
قيمة الإرجاع النوع ‏‏الوصف
[<قيمة>] صفيف صفيف يحتوي على إدخال واحد محدد

مثال

ينشئ هذا المثال صفيف من سلسلة "hello":

array('hello')

وإرجاع هذه النتيجة: ["hello"]

قاعدة 64

إرجاع الإصدار المرمّز باستخدام base64 لإحدى السلاسل.

base64('<value>')
المعلمة‬ المطلوب نوع ‏‏الوصف
<قيمة> ‏‏نعم‬ السلسلة‬ سلسلة الإدخال
قيمة الإرجاع النوع ‏‏الوصف
<base64-string> السلسلة‬ الإصدار المرمّز باستخدام base64 لسلسلة الإدخال

مثال

يحول هذا المثال سلسلة "hello" إلى سلسلة مرمزة باستخدام base64:

base64('hello')

وإرجاع هذه النتيجة: "aGVsbG8="

base64ToBinary

إرجاع الإصدار الثنائي لسلسلة مرمّزة باستخدام base64.

base64ToBinary('<value>')
المعلمة‬ المطلوب نوع ‏‏الوصف
<قيمة> ‏‏نعم‬ السلسلة‬ السلسلة المرمزة باستخدام base64 لتحويل
قيمة الإرجاع النوع ‏‏الوصف
<binary-for-base64-string> السلسلة‬ الإصدار الثنائي لسلسلة مرمزة باستخدام base64

مثال

يحول هذا المثال السلسلة المرمزة باستخدام "aGVsbG8=" base64 إلى سلسلة ثنائية:

base64ToBinary('aGVsbG8=')

وإرجاع هذه النتيجة:

"0110000101000111010101100111001101100010010001110011100000111101"

base64ToString

إرجاع إصدار السلسلة للسلسلة المرمزة باستخدام base64، وفك ترميز السلسلة المرمزة باستخدام base64 على نحوٍ فعال. استخدم هذه الدالة بدلاً من decodeBase64(). على الرغم من أن كلتا الدالتين تعملان بنفس الطريقة، يفضل استخدام base64ToString().

base64ToString('<value>')
المعلمة‬ المطلوب نوع ‏‏الوصف
<قيمة> ‏‏نعم‬ السلسلة‬ السلسلة المرمزة باستخدام base64 لفك الترميز
قيمة الإرجاع النوع ‏‏الوصف
<decoded-base64-string> السلسلة‬ إصدار السلسلة لسلسلة مرمّزة باستخدام base64

مثال

يحول هذا المثال السلسلة المرمزة باستخدام "aGVsbG8=" base64 إلى سلسلة واحدة فقط:

base64ToString('aGVsbG8=')

وإرجاع هذه النتيجة: "hello"

binary

إرجاع الإصدار الثنائي لإحدى السلاسل.

binary('<value>')
المعلمة‬ المطلوب نوع ‏‏الوصف
<قيمة> ‏‏نعم‬ السلسلة‬ السلسلة المطلوب تحويلها
قيمة الإرجاع النوع ‏‏الوصف
<binary-for-input-value> السلسلة‬ الإصدار الثنائي للسلسلة المحددة

مثال

يحول هذا المثال سلسلة "hello" إلى سلسلة ثنائية:

binary('hello')

وإرجاع هذه النتيجة:

"0110100001100101011011000110110001101111"

منطقي

إرجاع الإصدار المنطقي لقيمة.

bool(<value>)
المعلمة‬ المطلوب نوع ‏‏الوصف
<قيمة> ‏‏نعم‬ أي القيمة التي يجب تحويلها
قيمة الإرجاع النوع ‏‏الوصف
صواب أو خطأ Boolean الإصدار المنطقي للقيمة المحددة

مثال

تحول هذه الأمثلة القيم المحددة إلى قيم منطقية:

bool(1)
bool(0)

وإرجاع هذه النتائج:

  • المثال الأول: true
  • المثال الثاني: false

coalesce

إرجاع القيمة غير الفارغة الأولى من معلمة واحدة أو أكثر. سلاسل فارغة، صفائف فارغة وكائنات فارغة ليست خالية.

coalesce(<object_1>, <object_2>, ...)
المعلمة‬ المطلوب نوع ‏‏الوصف
<object_1>, <object_2>, ... ‏‏نعم‬ أي، يمكن خلط الأنواع عنصر واحد أو أكثر للتحقق من كونه خالياً
قيمة الإرجاع النوع ‏‏الوصف
<first-non-null-item> أي العنصر الأول أو القيمة غير خالٍ. إذا كانت جميع المعلمات فارغة، يتم إرجاع هذه الدالة قيمة فارغة.

مثال

تُرجع هذه الأمثلة القيمة الأولى غير الفارغة من القيم المحددة، أو القيمة الفارغة عندما تكون جميع القيم فارغة:

coalesce(null, true, false)
coalesce(null, 'hello', 'world')
coalesce(null, null, null)

وإرجاع هذه النتائج:

  • المثال الأول: true
  • المثال الثاني: "hello"
  • المثال الثالث: null

concat

ضم سلسلتين أو أكثر، ثم إرجاع السلسلة المدمجة.

concat('<text1>', '<text2>', ...)
المعلمة‬ المطلوب نوع ‏‏الوصف
<نص1>، <نص2>، ... ‏‏نعم‬ السلسلة‬ على الأقل سلسلتان للجمع
قيمة الإرجاع النوع ‏‏الوصف
<text1text2...> السلسلة‬ السلسلة التي تم إنشاؤها من سلاسل الإدخال المدمجة

مثال

يجمع هذا المثال بين السلاسل "Hello" و"World":

concat('Hello', 'World')

وإرجاع هذه النتيجة: "HelloWorld"

تحتوي على

التحقق مما إذا كانت المجموعة تحتوي على عنصر معين. يتم إرجاع القيمة true عند العثور على العنصر أو إرجاع القيمة false عند عدم العثور عليه. هذه الدالة حساسة لحالة الأحرف.

contains('<collection>', '<value>')
contains([<collection>], '<value>')

وبوجه خاص، تعمل هذه الدالة على أنواع المجموعات هذه:

  • سلسلة للبحث عن سلسلة فرعية
  • صفيف للبحث عن قيمة
  • قاموس للبحث عن مفتاح
المعلمة‬ المطلوب نوع ‏‏الوصف
<مجموعة> ‏‏نعم‬ سلسلة أو صفيف أو قاموس المجموعة التي يجب التحقق منها
<قيمة> ‏‏نعم‬ سلسلة أو صفيف أو قاموس على التوالي العنصر المطلوب العثور عليه
قيمة الإرجاع النوع ‏‏الوصف
صواب أو خطأ Boolean إرجاع القيمة true عند العثور على العنصر. إرجاع القيمة false عند عدم العثور عليه.

مثال 1

يتحقق هذا المثال من سلسلة "hello world" للسلسلة الفرعية "world" وإرجاع القيمة true:

contains('hello world', 'world')

مثال 2

يتحقق هذا المثال من سلسلة "hello world" للسلسلة الفرعية "universe" وإرجاع القيمة false:

contains('hello world', 'universe')

convertFromUtc

تحويل طابع زمني من تنسيق التوقيت العالمي (UTC) إلى المنطقة الزمنية الهدف.

convertFromUtc('<timestamp>', '<destinationTimeZone>', '<format>'?)
المعلمة‬ المطلوب نوع ‏‏الوصف
<الطابع الزمني> ‏‏نعم‬ السلسلة‬ السلسلة التي تحتوي على الطابع الزمني
<destinationTimeZone> ‏‏نعم‬ السلسلة‬ اسم المنطقة الزمنية الهدف. بالنسبة لأسماء المناطق الزمنية، راجع قيم المنطقة الزمنية لـ Microsoft، ولكن قد تضطر إلى إزالة أي علامات ترقيم من اسم المنطقة الزمنية.
<format> لا السلسلة‬ إما محدد تنسيق فردي أو نمط تنسيق مخصص. يُعد التنسيق الافتراضي للطابع الزمني هو «o» (yyyy-MM-ddTHH:mm:ss.fffffffK)، والذي يتوافق مع ISO 8601 ويحافظ على معلومات المنطقة الزمنية.
قيمة الإرجاع النوع ‏‏الوصف
<converted-timestamp> السلسلة‬ الطابع الزمني المحول إلى المنطقة الزمنية الهدف

مثال 1

يحول هذا المثال طابعاً زمنياً إلى المنطقة الزمنية المحددة:

convertFromUtc('2018-01-01T08:00:00.0000000Z', 'Pacific Standard Time')

وإرجاع هذه النتيجة: "2018-01-01T00:00:00Z"

مثال 2

يحول هذا المثال طابعاً زمنياً إلى المنطقة الزمنية والتنسيق المحدد:

convertFromUtc('2018-01-01T08:00:00.0000000Z', 'Pacific Standard Time', 'D')

وإرجاع هذه النتيجة: "Monday, January 1, 2018"

convertTimeZone

تحويل طابع زمني من المنطقة الزمنية المصدر إلى المنطقة الزمنية الهدف.

convertTimeZone('<timestamp>', '<sourceTimeZone>', '<destinationTimeZone>', '<format>'?)
المعلمة‬ المطلوب نوع ‏‏الوصف
<الطابع الزمني> ‏‏نعم‬ السلسلة‬ السلسلة التي تحتوي على الطابع الزمني
<sourceTimeZone> ‏‏نعم‬ السلسلة‬ اسم المنطقة الزمنية المصدر. بالنسبة لأسماء المناطق الزمنية، راجع قيم المنطقة الزمنية لـ Microsoft، ولكن قد تضطر إلى إزالة أي علامات ترقيم من اسم المنطقة الزمنية.
<destinationTimeZone> ‏‏نعم‬ السلسلة‬ اسم المنطقة الزمنية الهدف. بالنسبة لأسماء المناطق الزمنية، راجع قيم المنطقة الزمنية لـ Microsoft، ولكن قد تضطر إلى إزالة أي علامات ترقيم من اسم المنطقة الزمنية.
<format> لا السلسلة‬ إما محدد تنسيق فردي أو نمط تنسيق مخصص. يُعد التنسيق الافتراضي للطابع الزمني هو «o» (yyyy-MM-ddTHH:mm:ss.fffffffK)، والذي يتوافق مع ISO 8601 ويحافظ على معلومات المنطقة الزمنية.
قيمة الإرجاع النوع ‏‏الوصف
<converted-timestamp> السلسلة‬ الطابع الزمني المحول إلى المنطقة الزمنية الهدف

مثال 1

يحول هذا المثال المنطقة الزمنية المصدر إلى المنطقة الزمنية الهدف:

convertTimeZone('2018-01-01T08:00:00.0000000Z', 'UTC', 'Pacific Standard Time')

وإرجاع هذه النتيجة: "2018-01-01T00:00:00.0000000"

مثال 2

يحول هذا المثال منطقة زمنية إلى المنطقة الزمنية والتنسيق المحدد:

convertTimeZone('2018-01-01T08:00:00.0000000Z', 'UTC', 'Pacific Standard Time', 'D')

وإرجاع هذه النتيجة: "Monday, January 1, 2018"

convertToUtc

تحويل طابع زمني من المنطقة الزمنية المصدر إلى تنسيق التوقيت العالمي (UTC).

convertToUtc('<timestamp>', '<sourceTimeZone>', '<format>'?)
المعلمة‬ المطلوب نوع ‏‏الوصف
<الطابع الزمني> ‏‏نعم‬ السلسلة‬ السلسلة التي تحتوي على الطابع الزمني
<sourceTimeZone> ‏‏نعم‬ السلسلة‬ اسم المنطقة الزمنية المصدر. بالنسبة لأسماء المناطق الزمنية، راجع قيم المنطقة الزمنية لـ Microsoft، ولكن قد تضطر إلى إزالة أي علامات ترقيم من اسم المنطقة الزمنية.
<format> لا السلسلة‬ إما محدد تنسيق فردي أو نمط تنسيق مخصص. يُعد التنسيق الافتراضي للطابع الزمني هو «o» (yyyy-MM-ddTHH:mm:ss.fffffffK)، والذي يتوافق مع ISO 8601 ويحافظ على معلومات المنطقة الزمنية.
قيمة الإرجاع النوع ‏‏الوصف
<converted-timestamp> السلسلة‬ الطابع الزمني المحول إلى UTC

مثال 1

يحول هذا المثال طابع زمني إلى UTC:

convertToUtc('01/01/2018 00:00:00', 'Pacific Standard Time')

وإرجاع هذه النتيجة: "2018-01-01T08:00:00.0000000Z"

مثال 2

يحول هذا المثال طابع زمني إلى UTC:

convertToUtc('01/01/2018 00:00:00', 'Pacific Standard Time', 'D')

وإرجاع هذه النتيجة: "Monday, January 1, 2018"

createArray

إرجاع صفيف من مدخلات متعددة. للحصول على صفائف إدخال مفردة، انظر array().

createArray('<object1>', '<object2>', ...)
المعلمة‬ المطلوب نوع ‏‏الوصف
<عنصر1>، <عنصر2>، ... ‏‏نعم‬ أي، ولكن ليست مختلطة عنصران على الأقل لإنشاء الصفيف
قيمة الإرجاع النوع ‏‏الوصف
[<عنصر1>، <عنصر2>، ...] صفيف الصفيف الذي تم إنشاؤه من جميع عناصر الإدخال

مثال

ينشئ هذا المثال صفيف من هذه الإدخالات:

createArray('h', 'e', 'l', 'l', 'o')

وإرجاع هذه النتيجة: ["h", "e", "l", "l", "o"]

dataUri

إرجاع معرف موارد منتظم للبيانات (URI) لسلسلة.

dataUri('<value>')
المعلمة‬ المطلوب نوع ‏‏الوصف
<قيمة> ‏‏نعم‬ السلسلة‬ السلسلة المطلوب تحويلها
قيمة الإرجاع النوع ‏‏الوصف
<data-uri> السلسلة‬ عنوان URI للبيانات الخاصة بسلسلة الإدخال

مثال

ينشئ هذا المثال عنوان URI للبيانات الخاصة بسلسلة "hello":

dataUri('hello')

وإرجاع هذه النتيجة: "data:text/plain;charset=utf-8;base64,aGVsbG8="

dataUriToBinary

إرجاع الإصدار الثنائي لمعرف موارد منتظم (URI) للبيانات. استخدم هذه الدالة بدلاً من decodeDataUri(). على الرغم من أن كلتا الدالتين تعملان بنفس الطريقة، يفضل استخدام dataUriBinary().

dataUriToBinary('<value>')
المعلمة‬ المطلوب نوع ‏‏الوصف
<قيمة> ‏‏نعم‬ السلسلة‬ URI للبيانات من أجل تحويل
قيمة الإرجاع النوع ‏‏الوصف
<binary-for-data-uri> السلسلة‬ الإصدار الثنائي لـ URI للبيانات

مثال

ينشئ هذا المثال الإصدار الثنائي لـ URI للبيانات:

dataUriToBinary('data:text/plain;charset=utf-8;base64,aGVsbG8=')

وإرجاع هذه النتيجة:

"01100100011000010111010001100001001110100111010001100101011110000111010000101111011100000 1101100011000010110100101101110001110110110001101101000011000010111001001110011011001010111 0100001111010111010101110100011001100010110100111000001110110110001001100001011100110110010 10011011000110100001011000110000101000111010101100111001101100010010001110011100000111101"

dataUriToString

إرجاع إصدار السلسلة لمعرف موارد منتظم (URI) للبيانات.

dataUriToString('<value>')
المعلمة‬ المطلوب نوع ‏‏الوصف
<قيمة> ‏‏نعم‬ السلسلة‬ URI للبيانات من أجل تحويل
قيمة الإرجاع النوع ‏‏الوصف
<string-for-data-uri> السلسلة‬ إصدار السلسلة لـ URI للبيانات

مثال

ينشئ هذا المثال سلسلة لـ URI للبيانات:

dataUriToString('data:text/plain;charset=utf-8;base64,aGVsbG8=')

وإرجاع هذه النتيجة: "hello"

dayOfMonth

إرجاع أيام الشهر من الطابع الزمني.

dayOfMonth('<timestamp>')
المعلمة‬ المطلوب نوع ‏‏الوصف
<الطابع الزمني> ‏‏نعم‬ السلسلة‬ السلسلة التي تحتوي على الطابع الزمني
قيمة الإرجاع النوع ‏‏الوصف
<day-of-month> رقم صحيح أيام الشهر من الطابع الزمني المحدد

مثال

يسترجع هذا المثال عدد أيام الشهر من هذا الطابع الزمني:

dayOfMonth('2018-03-15T13:27:36Z')

وإرجاع هذه النتيجة: 15

dayOfWeek

إرجاع أيام الأسبوع من الطابع الزمني.

dayOfWeek('<timestamp>')
المعلمة‬ المطلوب نوع ‏‏الوصف
<الطابع الزمني> ‏‏نعم‬ السلسلة‬ السلسلة التي تحتوي على الطابع الزمني
قيمة الإرجاع النوع ‏‏الوصف
<day-of-week> رقم صحيح أيام الأسبوع من الطابع الزمني المحدد حيث الأحد هو 0، الاثنين هو 1، وهكذا

مثال

يسترجع هذا المثال عدد أيام الأسبوع من هذا الطابع الزمني:

dayOfWeek('2018-03-15T13:27:36Z')

وإرجاع هذه النتيجة: 3

dayOfYear

إرجاع أيام السنة من الطابع الزمني.

dayOfYear('<timestamp>')
المعلمة‬ المطلوب نوع ‏‏الوصف
<الطابع الزمني> ‏‏نعم‬ السلسلة‬ السلسلة التي تحتوي على الطابع الزمني
قيمة الإرجاع النوع ‏‏الوصف
<day-of-year> رقم صحيح أيام السنة من الطابع الزمني المحدد

مثال

يسترجع هذا المثال عدد أيام السنة من هذا الطابع الزمني:

dayOfYear('2018-03-15T13:27:36Z')

وإرجاع هذه النتيجة: 74

decodeBase64

إرجاع إصدار السلسلة للسلسلة المرمزة باستخدام base64، وفك ترميز السلسلة المرمزة باستخدام base64 على نحوٍ فعال. حاول استخدام base64ToString () بدلاً من decodeBase64(). على الرغم من أن كلتا الدالتين تعملان بنفس الطريقة، يفضل استخدام base64ToString().

decodeBase64('<value>')
المعلمة‬ المطلوب نوع ‏‏الوصف
<قيمة> ‏‏نعم‬ السلسلة‬ السلسلة المرمزة باستخدام base64 لفك الترميز
قيمة الإرجاع النوع ‏‏الوصف
<decoded-base64-string> السلسلة‬ إصدار السلسلة لسلسلة مرمّزة باستخدام base64

مثال

ينشئ هذا المثال سلسلة لسلسلة مرمزة باستخدام base64:

decodeBase64('aGVsbG8=')

وإرجاع هذه النتيجة: "hello"

decodeDataUri

إرجاع الإصدار الثنائي لمعرف موارد منتظم (URI) للبيانات. حاول استخدام dataUriToBinary()، بدلاً من decodeDataUri(). على الرغم من أن كلتا الدالتين تعملان بنفس الطريقة، يفضل استخدام dataUriToBinary().

decodeDataUri('<value>')
المعلمة‬ المطلوب نوع ‏‏الوصف
<قيمة> ‏‏نعم‬ السلسلة‬ سلسلة URI للبيانات التي يجب فك ترميزها
قيمة الإرجاع النوع ‏‏الوصف
<binary-for-data-uri> السلسلة‬ الإصدار الثنائي لسلسلة URI للبيانات

مثال

يسترجع هذا المثال الإصدار الثنائي لـ URI للبيانات:

decodeDataUri('data:text/plain;charset=utf-8;base64,aGVsbG8=')

وإرجاع هذه النتيجة:

"01100100011000010111010001100001001110100111010001100101011110000111010000101111011100000 1101100011000010110100101101110001110110110001101101000011000010111001001110011011001010111 0100001111010111010101110100011001100010110100111000001110110110001001100001011100110110010 10011011000110100001011000110000101000111010101100111001101100010010001110011100000111101"

decodeUriComponent

إرجاع سلسلة استبدال أحرف الإلغاء بإصدارات غير مرمزة.

decodeUriComponent('<value>')
المعلمة‬ المطلوب نوع ‏‏الوصف
<قيمة> ‏‏نعم‬ السلسلة‬ السلسلة المكونة من أحرف الإلغاء التي يجب فك ترميزها
قيمة الإرجاع النوع ‏‏الوصف
<decoded-uri> السلسلة‬ السلسلة المحدثة المكونة من أحرف الإلغاء التي تم فك ترميزها

مثال

يستبدل هذا المثال أحرف الإلغاء في هذه السلسلة بإصدارات تم فك ترميزها:

decodeUriComponent('http%3A%2F%2Fcontoso.com')

وإرجاع هذه النتيجة: "https://contoso.com"

div

إرجاع نتيجة قسمة رقم واحد على رقم آخر.

div(<dividend>, <divisor>)

يعتمد نوع الإرجاع الدقيق للدالة على أنواع معلماتها — راجع الأمثلة للحصول على التفاصيل.

المعلمة‬ المطلوب نوع ‏‏الوصف
<dividend> ‏‏نعم‬ عدد صحيح أو عائم العدد الذي يجب قسمته على القاسم
<القاسم> ‏‏نعم‬ عدد صحيح أو عائم الرقم الذي يقسم المقسوم. تتسبب قيمة القسمة الصفرية في حدوث خطأ في وقت التشغيل.
قيمة الإرجاع النوع ‏‏الوصف
<quotient-result> عدد صحيح أو عائم نتيجة قسمة الرقم الأول على الرقم الثاني

مثال 1

تقسم هذه الأمثلة الرقم 9 على 2:

div(9, 2.0)
div(9.0, 2)
div(9.0, 2.0)

وكلها ترجع هذه النتيجة: 4.5

مثال 2

يقسم هذا المثال أيضا الرقم 9 على 2، ولكن نظرا لأن كلتا المعلمتين عبارة عن أعداد صحيحة، يتم تجاهل الباقي (تقسيم عدد صحيح):

div(9, 2)

يرجع التعبير النتيجة 4. للحصول على قيمة الباقي، استخدم الدالة mod().

encodeUriComponent

قم بإرجاع إصدار مرمز باستخدام معرّف الموارد المنتظم (URI) لسلسلة من خلال استبدال أحرف URL غير الآمنة بأحرف الإلغاء. حاول استخدام uriComponent () بدلاً من encodeUriComponent(). على الرغم من أن كلتا الدالتين تعملان بنفس الطريقة، يفضل استخدام uriComponent().

encodeUriComponent('<value>')
المعلمة‬ المطلوب نوع ‏‏الوصف
<قيمة> ‏‏نعم‬ السلسلة‬ السلسلة المطلوب تحويلها إلى تنسيق مرمز بـ URI
قيمة الإرجاع النوع ‏‏الوصف
<encoded-uri> السلسلة‬ السلسلة المرمزة باستخدام URI مع أحرف الإلغاء

مثال

ينشئ هذا المثال إصدار مرمز باستخدام URI لهذه السلسلة:

encodeUriComponent('https://contoso.com')

وإرجاع هذه النتيجة: "http%3A%2F%2Fcontoso.com"

فارغ

التحقق مما إذا كانت المجموعة فارغة أم لا. إرجاع القيمة true عندما تكون المجموعة فارغة، أو إرجاع القيمة false عندما لا تكون فارغة.

empty('<collection>')
empty([<collection>])
المعلمة‬ المطلوب نوع ‏‏الوصف
<مجموعة> ‏‏نعم‬ سلسلة أو صفيف أو كائن المجموعة التي يجب التحقق منها
قيمة الإرجاع النوع ‏‏الوصف
صواب أو خطأ Boolean إرجاع القيمة true عندما تكون المجموعة فارغة. إرجاع القيمة false عندما لا تكون فارغة.

مثال

تحقق هذه الأمثلة ما إذا كانت المجموعات المحددة فارغة:

empty('')
empty('abc')

وإرجاع هذه النتائج:

  • المثال الأول: تمرير سلسلة فارغة، بحيث ترجع قيمة الدالة true.
  • المثال الثاني: تمرير السلسلة "abc"، بحيث ترجع قيمة الدالة false.

endsWith

تحقق ما إذا كانت سلسلة تنتهي بسلسلة فرعية معينة. يتم إرجاع القيمة true عند العثور على سلسلة فرعية أو إرجاع القيمة false عند عدم العثور عليها. هذه الدالة غير حساسة لحالة الأحرف.

endsWith('<text>', '<searchText>')
المعلمة‬ المطلوب نوع الوصف
<text> نعم السلسلة‬ السلسلة التي يجب التحقق منها
<searchText> ‏‏نعم‬ السلسلة‬ السلسلة الفرعية النهائية المطلوب البحث عنها
قيمة الإرجاع النوع ‏‏الوصف
صواب أو خطأ Boolean إرجاع القيمة true عند العثور على السلسلة الفرعية النهائية. إرجاع القيمة false عند عدم العثور عليه.

مثال 1

يتحقق هذا المثال ما إذا كانت سلسلة "hello" تنتهي بسلسلة "world":

endsWith('hello world', 'world')

وإرجاع هذه النتيجة: true

مثال 2

يتحقق هذا المثال ما إذا كانت سلسلة "hello" تنتهي بسلسلة "universe":

endsWith('hello world', 'universe')

وإرجاع هذه النتيجة: false

متساوٍ

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

equals('<object1>', '<object2>')
المعلمة‬ المطلوب نوع ‏‏الوصف
<عنصر1>، <عنصر2> ‏‏نعم‬ مختلف القيم أو التعبيرات أو الكائنات التي يجب مقارنتها
قيمة الإرجاع النوع ‏‏الوصف
صواب أو خطأ Boolean إرجاع القيمة true عندما يكون كلاهما مساوياً. إرجاع القيمة false عندما لا يكون مساوياً.

مثال

تحقق هذه الأمثلة مما إذا كانت الإدخالات المحددة متساوية.

equals(true, 1)
equals('abc', 'abcd')

وإرجاع هذه النتائج:

  • المثال الأول: كلتا القيمتين متساويتان، وبالتالي ترجع الدالة true.
  • المثال الثاني: كلتا القيمتين غير متساويتين، وبالتالي ترجع الدالة false.

أولاً

إرجاع العنصر الأول من سلسلة أو صفيف.

first('<collection>')
first([<collection>])
المعلمة‬ المطلوب نوع ‏‏الوصف
<مجموعة> ‏‏نعم‬ سلسلة أو صفيف المجموعة التي يمكن العثور فيها على العنصر الأول
قيمة الإرجاع النوع ‏‏الوصف
<first-collection-item> أي العنصر الأول في المجموعة

مثال

تبحث هذه الأمثلة عن العنصر الأول في هذه المجموعات:

first('hello')
first(createArray(0, 1, 2))

وإرجاع هذه النتائج:

  • المثال الأول: "h"
  • المثال الثاني: 0

عائم

تحويل إصدار سلسلة لرقم الفاصلة العائمة إلى رقم فاصلة عائمة فعلية.

float('<value>')
المعلمة‬ المطلوب نوع ‏‏الوصف
<قيمة> ‏‏نعم‬ السلسلة‬ السلسلة التي تحتوي على رقم فاصلة عائمة صالح للتحويل
قيمة الإرجاع النوع ‏‏الوصف
<float-value> Float رقم الفاصلة العائمة للسلسلة المحددة

مثال

ينشئ هذا المثال إصدار سلسلة لرقم الفاصلة العائمة هذا:

float('10.333')

وإرجاع هذه النتيجة: 10.333

formatDateTime

إرجاع طابع زمني بالتنسيق المحدد.

formatDateTime('<timestamp>', '<format>'?)
المعلمة‬ المطلوب نوع ‏‏الوصف
<الطابع الزمني> ‏‏نعم‬ السلسلة‬ السلسلة التي تحتوي على الطابع الزمني
<format> لا السلسلة‬ إما محدد تنسيق فردي أو نمط تنسيق مخصص. يُعد التنسيق الافتراضي للطابع الزمني هو «o» (yyyy-MM-ddTHH:mm:ss.fffffffK)، والذي يتوافق مع ISO 8601 ويحافظ على معلومات المنطقة الزمنية.
قيمة الإرجاع النوع ‏‏الوصف
<reformatted-timestamp> السلسلة‬ الطابع الزمني المحدث بالتنسيق المحدد

مثال

يحول هذا المثال طابع زمني إلى التنسيق المحدد:

formatDateTime('03/15/2018 12:00:00', 'yyyy-MM-ddTHH:mm:ss')

وإرجاع هذه النتيجة: "2018-03-15T12:00:00"

getFutureTime

إرجاع الطابع الزمني الحالي بالإضافة إلى وحدات الوقت المحددة.

getFutureTime(<interval>, <timeUnit>, <format>?)
المعلمة‬ المطلوب نوع ‏‏الوصف
<الفاصل الزمني> ‏‏نعم‬ رقم صحيح عدد الوحدات الزمنية المحددة المطلوب إضافتها
<timeUnit> ‏‏نعم‬ السلسلة‬ وحدة الوقت المراد استخدامها مع الفاصل الزمني: "الثانية"، و"الدقيقة"، و"الساعة"، و"اليوم"، و"الأسبوع"، و"الشهر"، و"السنة"
<format> لا السلسلة‬ إما محدد تنسيق فردي أو نمط تنسيق مخصص. يُعد التنسيق الافتراضي للطابع الزمني هو «o» (yyyy-MM-ddTHH:mm:ss.fffffffK)، والذي يتوافق مع ISO 8601 ويحافظ على معلومات المنطقة الزمنية.
قيمة الإرجاع النوع ‏‏الوصف
<الطابع الزمني المحدث> السلسلة‬ الطابع الزمني الحالي بالإضافة إلى عدد الوحدات الزمنية المحددة

مثال 1

افترض أن الطابع الزمني الحالي هو "2018-03-01T00:00:00.0000000Z". يضيف هذا المثال خمسة أيام إلى هذا الطابع الزمني:

getFutureTime(5, 'Day')

وإرجاع هذه النتيجة: "2018-03-06T00:00:00.0000000Z"

مثال 2

افترض أن الطابع الزمني الحالي هو "2018-03-01T00:00:00.0000000Z". يضيف هذا المثال خمسة أيام ويحول النتيجة إلى تنسيق "D":

getFutureTime(5, 'Day', 'D')

وإرجاع هذه النتيجة: "Tuesday, March 6, 2018"

getPastTime

إرجاع الطابع الزمني الحالي مطروحاً منه الوحدات الزمنية المحددة.

getPastTime(<interval>, <timeUnit>, <format>?)
المعلمة‬ المطلوب نوع ‏‏الوصف
<الفاصل الزمني> ‏‏نعم‬ رقم صحيح عدد الوحدات الزمنية المحددة المطلوب طرحها
<timeUnit> ‏‏نعم‬ السلسلة‬ وحدة الوقت المراد استخدامها مع الفاصل الزمني: "الثانية"، و"الدقيقة"، و"الساعة"، و"اليوم"، و"الأسبوع"، و"الشهر"، و"السنة"
<format> لا السلسلة‬ إما محدد تنسيق فردي أو نمط تنسيق مخصص. يُعد التنسيق الافتراضي للطابع الزمني هو «o» (yyyy-MM-ddTHH:mm:ss.fffffffK)، والذي يتوافق مع ISO 8601 ويحافظ على معلومات المنطقة الزمنية.
قيمة الإرجاع النوع ‏‏الوصف
<الطابع الزمني المحدث> السلسلة‬ الطابع الزمني الحالي مطروحاً منه العدد المحدد للوحدات الزمنية

مثال 1

افترض أن الطابع الزمني الحالي هو "2018-02-01T00:00:00.0000000Z". يطرح هذا المثال خمسة أيام من هذا الطابع الزمني:

getPastTime(5, 'Day')

وإرجاع هذه النتيجة: "2018-01-27T00:00:00.0000000Z"

مثال 2

افترض أن الطابع الزمني الحالي هو "2018-02-01T00:00:00.0000000Z". يطرح هذا المثال خمسة أيام ثم يحول النتيجة إلى تنسيق "D":

getPastTime(5, 'Day', 'D')

وإرجاع هذه النتيجة: "Saturday, January 27, 2018"

أكبر

التحقق مما إذا كانت القيمة الأولى أكبر من القيمة الثانية. إرجاع القيمة true عندما تكون القيمة الأولى أكثر أو إرجاع القيمة false عندما تكون أقل.

greater(<value>, <compareTo>)
greater('<value>', '<compareTo>')
المعلمة‬ المطلوب نوع ‏‏الوصف
<قيمة> ‏‏نعم‬ عدد صحيح أو عائم أو سلسلة القيمة الأولى للتحقق مما إذا كانت أكبر من القيمة الثانية
<compareTo> ‏‏نعم‬ عدد صحيح أو عائم أو سلسلة على التوالي قيمة المقارنة
قيمة الإرجاع النوع ‏‏الوصف
صواب أو خطأ Boolean إرجاع القيمة true عندما تكون القيمة الأولى أكبر من القيمة الثانية. إرجاع القيمة false عندما تكون القيمة الأولى مساوية أو أقل من القيمة الثانية.

مثال

تحقق هذه الأمثلة ما إذا كانت القيمة الأولى أكبر من القيمة الثانية:

greater(10, 5)
greater('apple', 'banana')

وإرجاع هذه النتائج:

  • المثال الأول: true
  • المثال الثاني: false

greaterOrEquals

التحقق مما إذا كانت القيمة الأولى أكبر من أو مساوية للقيمة الثانية. إرجاع القيمة true عندما تكون القيمة الأولى أكبر أو تساوي أو إرجاع القيمة false عندما تكون القيمة الأولى أقل.

greaterOrEquals(<value>, <compareTo>)
greaterOrEquals('<value>', '<compareTo>')
المعلمة‬ المطلوب نوع ‏‏الوصف
<قيمة> ‏‏نعم‬ عدد صحيح أو عائم أو سلسلة القيمة الأولى للتحقق مما إذا كانت أكبر من أو تساوي القيمة الثانية
<compareTo> ‏‏نعم‬ عدد صحيح أو عائم أو سلسلة على التوالي قيمة المقارنة
قيمة الإرجاع النوع ‏‏الوصف
صواب أو خطأ Boolean إرجاع القيمة true عندما تكون القيمة الأولى أكبر من القيمة الثانية أو مساوية لها. إرجاع القيمة false عندما تكون القيمة الأولى أقل من القيمة الثانية.

مثال

تحقق هذه الأمثلة ما إذا كانت القيمة الأولى أكبر من أو تساوي القيمة الثانية:

greaterOrEquals(5, 5)
greaterOrEquals('apple', 'banana')

وإرجاع هذه النتائج:

  • المثال الأول: true
  • المثال الثاني: false

guid

إنشاء معرف فريد عمومي (GUID) كسلسلة، على سبيل المثال، "c2ecc88d-88c8-4096-912c-d6f2e2b138ce":

guid()

يمكنك كذلك تحديد تنسيق مختلف للمعرف الفريد العمومي غير التنسيق الافتراضي " D "، وهو 32 رقماً مفصولاً بالواصلات.

guid('<format>')
المعلمة‬ المطلوب نوع ‏‏الوصف
<format> لا السلسلة‬ محدد تنسيق واحد للمعرف الفريد العمومي الذي تم إرجاعه. التنسيق الافتراضي هو "D"، ولكن يمكنك استخدام "N" أو "D"أو "B" أو"P" أو "X".
قيمة الإرجاع النوع ‏‏الوصف
<GUID-value> السلسلة‬ المعرف الفريد العمومي الذي تم إنشاؤه عشوائياً

مثال

ينشئ هذا المثال نفس المعرف الفريد العمومي ولكن على هيئة 32 رقماً مفصولاً بواصلات ومحاطاً بأقواس:

guid('P')

وإرجاع هذه النتيجة: "(c2ecc88d-88c8-4096-912c-d6f2e2b138ce)"

if

التحقق مما إذا كان التعبير صحيحاً أم خطأ. بناءً على النتيجة، قم بإرجاع قيمة محددة.

if(<expression>, <valueIfTrue>, <valueIfFalse>)
المعلمة‬ المطلوب نوع ‏‏الوصف
<تعبير> ‏‏نعم‬ Boolean التعبير الذي يجب التحقق منه
<valueIfTrue> ‏‏نعم‬ أي القيمة التي يجب إرجاعها عندما يكون التعبير صحيحاً
<valueIfFalse> ‏‏نعم‬ أي القيمة التي يجب إرجاعها عندما يكون التعبير غير صحيح
قيمة الإرجاع النوع ‏‏الوصف
<specified-return-value> أي القيمة المحددة التي تُرجع بناءً على ما إذا كان التعبير صحيحاً أم خاطئاً

مثال

يرجع هذا المثال "yes" لأن التعبير المحدد يرجع بالقيمة إلى true. وإلا، يرجع المثال "no":

if(equals(1, 1), 'yes', 'no')

indexOf

إرجاع موضع البداية أو قيمة الفهرس لسلسلة فرعية. هذه الدالة ليست حساسة لحالة الأحرف، وتبدأ الفهارس بالرقم 0.

indexOf('<text>', '<searchText>')
المعلمة‬ المطلوب نوع الوصف
<text> نعم السلسلة‬ السلسلة التي تحتوي على السلسلة الفرعية للبحث عنها
<searchText> ‏‏نعم‬ السلسلة‬ السلسلة الفرعية المطلوب البحث عنها
قيمة الإرجاع النوع ‏‏الوصف
<index-value> رقم صحيح موضع البداية أو قيمة الفهرس للسلسلة الفرعية المحددة.

إذا لم يتم العثور على السلسلة، يتم إرجاع الرقم -1.

مثال

يبحث هذا المثال عن قيمة فهرس البداية للسلسلة الفرعية "world" في سلسلة "hello world":

indexOf('hello world', 'world')

وإرجاع هذه النتيجة: 6

العدد الصحيح

إرجاع إصدار صحيح لسلسلة.

int('<value>')
المعلمة‬ المطلوب نوع ‏‏الوصف
<قيمة> ‏‏نعم‬ السلسلة‬ السلسلة المطلوب تحويلها
قيمة الإرجاع النوع ‏‏الوصف
<integer-result> رقم صحيح إصدار العدد الصحيح للسلسلة المحددة

مثال

ينشئ هذا المثال إصدار عدد صحيح للسلسلة "10":

int('10')

وإرجاع هذه النتيجة: 10

json

بإرجاع قيمة نوع JavaScript Object Notation (JSON) أو كائن لسلسلة أو XML.

json('<value>')
المعلمة‬ المطلوب نوع ‏‏الوصف
<قيمة> ‏‏نعم‬ السلسلة أو XML السلسلة أو XML للتحويل
قيمة الإرجاع النوع ‏‏الوصف
<JSON-result> النوع أو الكائن الأصلي لـ JSON قيمة أو كائن النوع الأصلي لـ JSON للسلسلة المحددة أو XML. إذا كانت السلسلة فارغة، ترجع الدالة كائن فارغ.

مثال 1

يحول هذا المثال هذه السلسلة إلى قيمة JSON:

json('[1, 2, 3]')

وإرجاع هذه النتيجة: [1, 2, 3]

مثال 2

يحول هذا المثال هذه السلسلة إلى JSON:

json('{"fullName": "Sophia Owen"}')

وإرجاع هذه النتيجة:

{
  "fullName": "Sophia Owen"
}

مثال 3

يحول هذا المثال XML إلى JSON:

json(xml('<?xml version="1.0"?> <root> <person id='1'> <name>Sophia Owen</name> <occupation>Engineer</occupation> </person> </root>'))

وإرجاع هذه النتيجة:

{
   "?xml": { "@version": "1.0" },
   "root": {
      "person": [ {
         "@id": "1",
         "name": "Sophia Owen",
         "occupation": "Engineer"
      } ]
   }
}

intersection

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

intersection([<collection1>], [<collection2>], ...)
intersection('<collection1>', '<collection2>', ...)
المعلمة‬ المطلوب نوع ‏‏الوصف
<مجموعة1>، <مجموعة2>، ... ‏‏نعم‬ صفيف أو كائن، ولكن ليس كليهما المجموعات من حيث تريد العناصر الشائعة فقط
قيمة الإرجاع النوع ‏‏الوصف
<common-items> صفيف أو كائن، على التوالي مجموعة تحتوي على العناصر الشائعة فقط عبر المجموعات المحددة

مثال

يبحث هذا المثال عن العناصر الشائعة عبر هذه الصفائف:

intersection(createArray(1, 2, 3), createArray(101, 2, 1, 10), createArray(6, 8, 1, 2))

وإرجاع صفيف مع هذه العناصر فقط:[1, 2]

join

إرجاع سلسلة تحتوي على جميع العناصر من صفيف ويفصل بين كل حرف منها محدِّد.

join([<collection>], '<delimiter>')
المعلمة‬ المطلوب نوع ‏‏الوصف
<مجموعة> ‏‏نعم‬ صفيف الصفيف الذي يحتوي على العناصر للانضمام
<المحدِّد> ‏‏نعم‬ السلسلة‬ الفاصل الذي يظهر بين كل حرف في السلسلة الناتجة
قيمة الإرجاع النوع ‏‏الوصف
<حرف1><محدِّد><حرف2><محدِّد>... السلسلة‬ تم إنشاء السلسلة الناتجة من جميع العناصر في الصفيف المحدد

مثال

ينشئ هذا المثال سلسلة من جميع العناصر في هذا الصفيف من خلال الحرف المحدد كمحدد:

join(createArray('a', 'b', 'c'), '.')

وإرجاع هذه النتيجة: "a.b.c"

last

إرجاع العنصر الأخير من مجموعة.

last('<collection>')
last([<collection>])
المعلمة‬ المطلوب نوع ‏‏الوصف
<مجموعة> ‏‏نعم‬ سلسلة أو صفيف المجموعة التي يمكن العثور فيها على العنصر الأخير
قيمة الإرجاع النوع ‏‏الوصف
<last-collection-item> سلسلة أو صفيف، على التوالي العنصر الأخير في المجموعة

مثال

تبحث هذه الأمثلة عن العنصر الأخير في هذه المجموعات:

last('abcd')
last(createArray(0, 1, 2, 3))

وإرجاع هذه النتائج:

  • المثال الأول: "d"
  • المثال الثاني: 3

lastIndexOf

إرجاع موضع البداية أو قيمة الفهرس لآخر تكرار لسلسة فرعية. هذه الدالة ليست حساسة لحالة الأحرف، وتبدأ الفهارس بالرقم 0.

lastIndexOf('<text>', '<searchText>')
المعلمة‬ المطلوب نوع الوصف
<text> نعم السلسلة‬ السلسلة التي تحتوي على السلسلة الفرعية للبحث عنها
<searchText> ‏‏نعم‬ السلسلة‬ السلسلة الفرعية المطلوب البحث عنها
قيمة الإرجاع النوع ‏‏الوصف
<ending-index-value> رقم صحيح موضع البداية أو قيمة الفهرس لآخر تكرار للسلسلة الفرعية المحددة.

إذا لم يتم العثور على السلسلة، يتم إرجاع الرقم -1.

مثال

يبحث هذا المثال عن قيمة فهرس البداية لآخر تكرار للسلسلة الفرعية "world" في سلسلة "hello world":

lastIndexOf('hello world', 'world')

وإرجاع هذه النتيجة: 6

طول

إرجاع عدد العناصر الموجودة في مجموعة.

length('<collection>')
length([<collection>])
المعلمة‬ المطلوب نوع ‏‏الوصف
<مجموعة> ‏‏نعم‬ سلسلة أو صفيف المجموعة التي تحتوي على عناصر يجب عدها
قيمة الإرجاع النوع ‏‏الوصف
<length-or-count> رقم صحيح عدد العناصر الموجودة في المجموعة

مثال

تحسب هذه الأمثلة عدد العناصر في هذه المجموعات:

length('abcd')
length(createArray(0, 1, 2, 3))

وإرجاع هذه النتيجة: 4

أقل

التحقق مما إذا كانت القيمة الأولى أقل من القيمة الثانية. إرجاع القيمة true عندما تكون القيمة الأولى أقل أو إرجاع القيمة false عندما تكون القيمة الأولى أكبر.

less(<value>, <compareTo>)
less('<value>', '<compareTo>')
المعلمة‬ المطلوب نوع ‏‏الوصف
<قيمة> ‏‏نعم‬ عدد صحيح أو عائم أو سلسلة القيمة الأولى للتحقق مما إذا كانت أقل من القيمة الثانية
<compareTo> ‏‏نعم‬ عدد صحيح أو عائم أو سلسلة على التوالي عنصر المقارنة
قيمة الإرجاع النوع ‏‏الوصف
صواب أو خطأ Boolean إرجاع القيمة true عندما تكون القيمة الأولى أقل من القيمة الثانية. إرجاع القيمة false عندما تكون القيمة الأولى مساوية أو أكبر من القيمة الثانية.

مثال

تتحقق هذه الأمثلة مما إذا كانت القيمة الأولى أقل من القيمة الثانية.

less(5, 10)
less('banana', 'apple')

وإرجاع هذه النتائج:

  • المثال الأول: true
  • المثال الثاني: false

lessOrEquals

التحقق مما إذا كانت القيمة الأولى أقل من أو مساوية للقيمة الثانية. إرجاع القيمة true عندما تكون القيمة الأولى أقل أو تساوي أو إرجاع القيمة false عندما تكون القيمة الأولى أكبر.

lessOrEquals(<value>, <compareTo>)
lessOrEquals('<value>', '<compareTo>')
المعلمة‬ المطلوب نوع ‏‏الوصف
<قيمة> ‏‏نعم‬ عدد صحيح أو عائم أو سلسلة القيمة الأولى للتحقق مما إذا كانت أقل من أو تساوي القيمة الثانية
<compareTo> ‏‏نعم‬ عدد صحيح أو عائم أو سلسلة على التوالي عنصر المقارنة
قيمة الإرجاع النوع ‏‏الوصف
صواب أو خطأ Boolean إرجاع القيمة true عندما تكون القيمة الأولى أقل من القيمة الثانية أو مساوية لها. إرجاع القيمة false عندما تكون القيمة الأولى أكبر من القيمة الثانية.

مثال

تتحقق هذه الأمثلة مما إذا كانت القيمة الأولى أقل من أو تساوي القيمة الثانية.

lessOrEquals(10, 10)
lessOrEquals('apply', 'apple')

وإرجاع هذه النتائج:

  • المثال الأول: true
  • المثال الثاني: false

max

إرجاع القيمة الأعلى من قائمة أو صفيف ذات أرقام متضمنة في كلا الطرفين.

max(<number1>, <number2>, ...)
max([<number1>, <number2>, ...])
المعلمة‬ المطلوب نوع ‏‏الوصف
<رقم1>، <رقم2>، ... ‏‏نعم‬ عدد صحيح أو عائم أو كلاهما مجموعة الأرقام التي تريد منها أعلى قيمة
[<رقم1>، <رقم2>، ...] ‏‏نعم‬ صفيف - عدد صحيح أو عائم أو كليهما صفيف الأرقام التي تريد من خلالها أعلى قيمة
قيمة الإرجاع النوع ‏‏الوصف
<max-value> عدد صحيح أو عائم أعلى قيمة في الصفيف المحدد أو مجموعة الأرقام

مثال

تحصل هذه الأمثلة على أعلى قيمة من مجموعة الأرقام والصفيف:

max(1, 2, 3)
max(createArray(1, 2, 3))

وإرجاع هذه النتيجة: 3

دقيقة

إرجاع القيمة الأقل من مجموعة من الأرقام أو صفيف.

min(<number1>, <number2>, ...)
min([<number1>, <number2>, ...])
المعلمة‬ المطلوب نوع ‏‏الوصف
<رقم1>، <رقم2>، ... ‏‏نعم‬ عدد صحيح أو عائم أو كلاهما مجموعة الأرقام التي تريد منها أدنى قيمة
[<رقم1>، <رقم2>، ...] ‏‏نعم‬ صفيف - عدد صحيح أو عائم أو كليهما مصفوفة الأرقام التي تريد منها أدنى قيمة
قيمة الإرجاع النوع ‏‏الوصف
<min-value> عدد صحيح أو عائم أدنى قيمة في مجموعة الأرقام المحددة أو الصفيف المحدد

مثال

تحصل هذه الأمثلة على أقل قيمة في مجموعة الأرقام والصفيف:

min(1, 2, 3)
min(createArray(1, 2, 3))

وإرجاع هذه النتيجة: 1

mod

إرجاع الباقي من قسمة رقم واحد على رقم آخر. للحصول على قسمة عدد صحيح، راجع div().

mod(<dividend>, <divisor>)
المعلمة‬ المطلوب نوع ‏‏الوصف
<dividend> ‏‏نعم‬ عدد صحيح أو عائم العدد الذي يجب قسمته على القاسم
<القاسم> ‏‏نعم‬ عدد صحيح أو عائم الرقم الذي يقسم المقسوم. تتسبب قيمة القسمة الصفرية في حدوث خطأ في وقت التشغيل.
قيمة الإرجاع النوع ‏‏الوصف
<modulo-result> عدد صحيح أو عائم الباقي من قسمة الرقم الأول على الرقم الثاني

مثال

يحسب هذا المثال الباقي عند قسمة الرقم الأول على الرقم الثاني:

mod(3, 2)

وإرجاع هذه النتيجة: 1

mul

إرجاع الناتج من ضرب رقمين.

mul(<multiplicand1>, <multiplicand2>)
المعلمة‬ المطلوب نوع ‏‏الوصف
<multiplicand1> ‏‏نعم‬ عدد صحيح أو عائم الرقم المطلوب ضربه في multiplicand2
<multiplicand2> ‏‏نعم‬ عدد صحيح أو عائم الرقم الذي يضرب ضرب ضرب1
قيمة الإرجاع النوع ‏‏الوصف
<product-result> عدد صحيح أو عائم حاصل ضرب الرقم الأول في الرقم الثاني

مثال

تضرب هذه الأمثلة الرقم الأول بالرقم الثاني:

mul(1, 2)
mul(1.5, 2)

وإرجاع هذه النتائج:

  • المثال الأول: 2
  • المثال الثاني 3

لا

التحقق مما إذا كان التعبير غير صحيح. إرجاع true عندما يكون التعبير غير صحيح أو إرجاع false عندما يكون صحيحاً.

not(<expression>)
المعلمة‬ المطلوب نوع ‏‏الوصف
<تعبير> ‏‏نعم‬ Boolean التعبير الذي يجب التحقق منه
قيمة الإرجاع النوع ‏‏الوصف
صواب أو خطأ Boolean إرجاع true عندما يكون التعبير غير صحيح. إرجاع false عندما يكون التعبير صحيحاً.

مثال 1

تتحقق هذه الأمثلة مما إذا كانت التعبيرات المحددة خاطئة:

not(false)
not(true)

وإرجاع هذه النتائج:

  • المثال الأول: التعبير غير صحيح، وبالتالي ترجع الدالة true.
  • المثال الثاني: التعبير صحيح، وبالتالي ترجع الدالة false.

مثال 2

تتحقق هذه الأمثلة مما إذا كانت التعبيرات المحددة خاطئة:

not(equals(1, 2))
not(equals(1, 1))

وإرجاع هذه النتائج:

  • المثال الأول: التعبير غير صحيح، وبالتالي ترجع الدالة true.
  • المثال الثاني: التعبير صحيح، وبالتالي ترجع الدالة false.

أو

التحقق مما إذا كان هناك تعبير واحد على الأقل صحيح. إرجاع true عندما يكون تعبير واحد على الأقل صحيحاً أو إرجاع false عندما يكون كلاهما غير صحيح.

or(<expression1>, <expression2>)
المعلمة‬ المطلوب نوع ‏‏الوصف
<expression1>، <expression2> ‏‏نعم‬ Boolean التعبيرات التي يجب التحقق منها
قيمة الإرجاع النوع ‏‏الوصف
صواب أو خطأ Boolean إرجاع true عندما يكون تعبير واحد على الأقل صحيحاً. إرجاع false عندما يكون كلا التعبيرين غير صحيح.

مثال 1

تتحقق هذه الأمثلة مما إذا كان تعبير واحد على الأقل صحيحاً:

or(true, false)
or(false, false)

وإرجاع هذه النتائج:

  • المثال الأول: تعبير واحد على الأقل صحيح، وبالتالي ترجع الدالة true.
  • المثال الثاني: كلا التعبيرين غير صحيح، وبالتالي ترجع الدالة false.

مثال 2

تتحقق هذه الأمثلة مما إذا كان تعبير واحد على الأقل صحيحاً:

or(equals(1, 1), equals(1, 2))
or(equals(1, 2), equals(1, 3))

وإرجاع هذه النتائج:

  • المثال الأول: تعبير واحد على الأقل صحيح، وبالتالي ترجع الدالة true.
  • المثال الثاني: كلا التعبيرين غير صحيح، وبالتالي ترجع الدالة false.

عشوائي

إرجاع عدد صحيح عشوائي من نطاق محدد، والذي يكون شاملاً فقط في نهاية البداية.

rand(<minValue>, <maxValue>)
المعلمة‬ المطلوب نوع ‏‏الوصف
<minValue> ‏‏نعم‬ رقم صحيح أقل عدد صحيح في النطاق
<maxValue> ‏‏نعم‬ رقم صحيح العدد الصحيح الذي يلي أعلى عدد صحيح في النطاق الذي يمكن أن ترجعه الدالة
قيمة الإرجاع النوع ‏‏الوصف
<random-result> رقم صحيح العدد الصحيح العشوائي الذي تم إرجاعه من النطاق المحدد. لاحظ أن كل استدعاء من rand() سينتج نتيجة فريدة، ما يعني أن القيمة التي تلاحظها في مراقبة الإخراج قد لا تكون هي نفسها في وقت التشغيل الفعلي.

مثال

يحصل هذا المثال على عدد صحيح عشوائي من النطاق المحدد، باستثناء القيمة القصوى:

rand(1, 5)

وإرجاع أحد هذه الأرقام كنتيجة: 1 أو 2 أو 3 أو 4

النطاق

إرجاع صفيف عدد صحيح يبدأ من عدد صحيح محدد.

range(<startIndex>, <count>)
المعلمة‬ المطلوب نوع ‏‏الوصف
<startIndex> ‏‏نعم‬ رقم صحيح قيمة عدد صحيح تبدأ الصفيف كعنصر أول
<count> ‏‏نعم‬ رقم صحيح عدد الأعداد الصحيحة في الصفيف
قيمة الإرجاع النوع ‏‏الوصف
[<range-result>] صفيف الصفيف ذو الأعداد الصحيحة يبدأ من الفهرس المحدد

مثال

ينشئ هذا المثال صفيف عدد صحيح يبدأ من الفهرس المحدد ويحتوي على عدد محدد من الأعداد الصحيحة:

range(1, 4)

وإرجاع هذه النتيجة: [1, 2, 3, 4]

استبدل

استبدال سلسلة فرعية مع السلسلة المحددة، وإرجاع سلسلة النتائج. هذه الدالة حساسة لحالة الأحرف.

replace('<text>', '<oldText>', '<newText>')
المعلمة‬ المطلوب نوع الوصف
<text> نعم السلسلة‬ السلسلة التي تحتوي على السلسلة الفرعية المراد استبدالها
<oldText> ‏‏نعم‬ السلسلة‬ السلسلة الفرعية المراد استبدالها
<newText> ‏‏نعم‬ السلسلة‬ سلسلة الاستبدال
قيمة الإرجاع النوع ‏‏الوصف
<updated-text> السلسلة‬ السلسلة المحدثة بعد استبدال السلسلة الفرعية

إذا لم يتم العثور على السلسلة الفرعية، فقم بإرجاع السلسلة الأصلية.

مثال

يبحث هذا المثال عن السلسلة الفرعية "القديمة" في "السلسلة القديمة" ويستبدل "القديم" بـ "الجديد":

replace('the old string', 'old', 'new')

وإرجاع هذه النتيجة: "the new string"

skip

إزالة العناصر من مقدمة المجموعة، وإعادة جميع العناصر الأخرى.

skip([<collection>], <count>)
المعلمة‬ المطلوب نوع ‏‏الوصف
<مجموعة> ‏‏نعم‬ صفيف المجموعة التي تريد إزالة عناصرها
<count> ‏‏نعم‬ رقم صحيح عدد صحيح موجب لعدد العناصر المطلوب إزالتها في المقدمة
قيمة الإرجاع النوع ‏‏الوصف
[<مجموعة محدثة>] صفيف المجموعة المحدثة بعد إزالة العناصر المحددة

مثال

يزيل هذا المثال عنصراً واحداً، وهو الرقم 0، من مقدمة الصفيف المحدد:

skip(createArray(0, 1, 2, 3), 1)

وإرجاع هذه الصفيفة مع العناصر المتبقية: [1,2,3]

split

تقسيم سلسلة عند كل تكرار محدد محدد، مع إرجاع السلاسل الفرعية الناتجة كعناصر من صفيف. عادة ما يكون المحدد حرفا واحدا، ولكن يتم دعم المحددات متعددة المخططات.

split('<text>', '<delimiter>')
المعلمة‬ المطلوب نوع الوصف
<text> نعم السلسلة‬ السلسلة المراد فصلها إلى سلاسل فرعية
<المحدِّد> ‏‏نعم‬ السلسلة‬ السلسلة التي يجب استخدامها كمحدد
قيمة الإرجاع النوع ‏‏الوصف
[<سلسة فرعية1>،<سلسة فرعية2>،...] صفيف صفيف يحتوي على سلاسل فرعية من السلسلة الأصلية

مثال

يقوم هذا المثال بإرجاع صفيف يحتوي على سلاسل فرعية من السلسلة "a_b_c" استنادا إلى المحدد "_":

split('a_b_c', '_')

الصفيف الذي تم إرجاعه هو: ["a","b","c"]

startOfDay

إرجاع بداية اليوم للحصول على طابع زمني.

startOfDay('<timestamp>', '<format>'?)
المعلمة‬ المطلوب نوع ‏‏الوصف
<الطابع الزمني> ‏‏نعم‬ السلسلة‬ السلسلة التي تحتوي على الطابع الزمني
<format> لا السلسلة‬ إما محدد تنسيق فردي أو نمط تنسيق مخصص. يُعد التنسيق الافتراضي للطابع الزمني هو «o» (yyyy-MM-ddTHH:mm:ss.fffffffK)، والذي يتوافق مع ISO 8601 ويحافظ على معلومات المنطقة الزمنية.
قيمة الإرجاع النوع ‏‏الوصف
<الطابع الزمني المحدث> السلسلة‬ الطابع الزمني المحدد ولكن يبدأ عند علامة ساعة الصفر لليوم

مثال

يبحث هذا المثال عن بداية اليوم لهذا الطابع الزمني:

startOfDay('2018-03-15T13:30:30Z')

وإرجاع هذه النتيجة: "2018-03-15T00:00:00.0000000Z"

startOfHour

إرجاع بداية الساعة للحصول على طابع زمني.

startOfHour('<timestamp>', '<format>'?)
المعلمة‬ المطلوب نوع ‏‏الوصف
<الطابع الزمني> ‏‏نعم‬ السلسلة‬ السلسلة التي تحتوي على الطابع الزمني
<format> لا السلسلة‬ إما محدد تنسيق فردي أو نمط تنسيق مخصص. يُعد التنسيق الافتراضي للطابع الزمني هو «o» (yyyy-MM-ddTHH:mm:ss.fffffffK)، والذي يتوافق مع ISO 8601 ويحافظ على معلومات المنطقة الزمنية.
قيمة الإرجاع النوع ‏‏الوصف
<الطابع الزمني المحدث> السلسلة‬ الطابع الزمني المحدد ولكن يبدأ عند علامة دقيقة الصفر للساعة

مثال

يبحث هذا المثال عن بداية الساعة لهذا الطابع الزمني:

startOfHour('2018-03-15T13:30:30Z')

وإرجاع هذه النتيجة: "2018-03-15T13:00:00.0000000Z"

startOfMonth

إرجاع بداية الشهر للحصول على طابع زمني.

startOfMonth('<timestamp>', '<format>'?)
المعلمة‬ المطلوب نوع ‏‏الوصف
<الطابع الزمني> ‏‏نعم‬ السلسلة‬ السلسلة التي تحتوي على الطابع الزمني
<format> لا السلسلة‬ إما محدد تنسيق فردي أو نمط تنسيق مخصص. يُعد التنسيق الافتراضي للطابع الزمني هو «o» (yyyy-MM-ddTHH:mm:ss.fffffffK)، والذي يتوافق مع ISO 8601 ويحافظ على معلومات المنطقة الزمنية.
قيمة الإرجاع النوع ‏‏الوصف
<الطابع الزمني المحدث> السلسلة‬ الطابع الزمني المحدد ولكن يبدأ في اليوم الأول من الشهر عند علامة ساعة الصفر

مثال

يعرض هذا المثال بداية الشهر لهذا الطابع الزمني:

startOfMonth('2018-03-15T13:30:30Z')

وإرجاع هذه النتيجة: "2018-03-01T00:00:00.0000000Z"

startsWith

تحقق مما إذا كانت سلسلة تبدأ بسلسلة فرعية معينة. يتم إرجاع القيمة true عند العثور على سلسلة فرعية أو إرجاع القيمة false عند عدم العثور عليها. هذه الدالة غير حساسة لحالة الأحرف.

startsWith('<text>', '<searchText>')
المعلمة‬ المطلوب نوع الوصف
<text> نعم السلسلة‬ السلسلة التي يجب التحقق منها
<searchText> ‏‏نعم‬ السلسلة‬ سلسلة البداية التي سيتم البحث عنها
قيمة الإرجاع النوع ‏‏الوصف
صواب أو خطأ Boolean إرجاع القيمة true عند العثور على بداية السلسلة الفرعية. إرجاع القيمة false عند عدم العثور عليه.

مثال 1

يتحقق هذا المثال ما إذا كانت السلسلة "hello world" تبدأ بالسلسلة الفرعية "hello":

startsWith('hello world', 'hello')

وإرجاع هذه النتيجة: true

مثال 2

يتحقق هذا المثال ما إذا كانت السلسلة "hello world" تبدأ بالسلسلة الفرعية "greetings":

startsWith('hello world', 'greetings')

وإرجاع هذه النتيجة: false

سلسلة

إرجاع إصدار السلسلة لقيمة.

string(<value>)
المعلمة‬ المطلوب نوع ‏‏الوصف
<قيمة> ‏‏نعم‬ أي القيمة التي يجب تحويلها
قيمة الإرجاع النوع ‏‏الوصف
<string-value> السلسلة‬ إصدار السلسلة للقيمة المحددة

مثال 1

ينشئ هذا المثال إصدار السلسلة لهذا الرقم:

string(10)

وإرجاع هذه النتيجة: "10"

مثال 2

ينشئ هذا المثال سلسلة لعنصر JSON المحدد ويستخدم حرف الخط المائل العكسي (\) كحرف إلغاء لعلامة الاقتباس المزدوجة (").

string( { "name": "Sophie Owen" } )

وإرجاع هذه النتيجة: "{ \\"name\\": \\"Sophie Owen\\" }"

فرعي

إرجاع النتيجة من طرح رقم واحد من رقم آخر.

sub(<minuend>, <subtrahend>)
المعلمة‬ المطلوب نوع ‏‏الوصف
<المطروح منه> ‏‏نعم‬ عدد صحيح أو عائم الرقم المطلوب طرحه من العدد المطروح
<المطروح> ‏‏نعم‬ عدد صحيح أو عائم الرقم المطلوب طرحه من العدد المطروح منه
قيمة الإرجاع النوع ‏‏الوصف
<نتيجة> عدد صحيح أو عائم ناتج طرح الرقم الثاني من الرقم الأول

مثال

يطرح هذا المثال الرقم الثاني من الرقم الأول:

sub(10.3, .3)

وإرجاع هذه النتيجة: 10

السلسة الفرعية

إرجاع أحرف من سلسلة، بدءاً من الموضع المحدد أو الفهرس. تبدأ قيم الفهرس بالرقم 0.

substring('<text>', <startIndex>, <length>)
المعلمة‬ المطلوب نوع الوصف
<text> نعم السلسلة‬ السلسلة التي تريد أحرفها
<startIndex> ‏‏نعم‬ رقم صحيح رقم موجب يساوي أو أكبر من 0 الذي تريد استخدامه كموضع بداية أو قيمة فهرس
<الطول> ‏‏نعم‬ رقم صحيح عدد موجب من الأحرف التي تريدها في السلسلة الفرعية
قيمة الإرجاع النوع ‏‏الوصف
<substring-result> السلسلة‬ سلسلة فرعية ذات عدد محدد من الأحرف، تبدأ من موضع الفهرس المحدد في سلسلة المصدر

مثال

ينشئ هذا المثال سلسلة فرعية من خمسة أحرف من السلسلة المحددة، بدءاً من قيمة الفهرس 6:

substring('hello world', 6, 5)

وإرجاع هذه النتيجة: "world"

subtractFromTime

طرح عدد من وحدات الوقت من الطابع الزمني. انظر كذلك getPastTime.

subtractFromTime('<timestamp>', <interval>, '<timeUnit>', '<format>'?)
المعلمة‬ المطلوب نوع ‏‏الوصف
<الطابع الزمني> ‏‏نعم‬ السلسلة‬ السلسلة التي تحتوي على الطابع الزمني
<الفاصل الزمني> ‏‏نعم‬ رقم صحيح عدد الوحدات الزمنية المحددة المطلوب طرحها
<timeUnit> ‏‏نعم‬ السلسلة‬ وحدة الوقت المراد استخدامها مع الفاصل الزمني: "الثانية"، و"الدقيقة"، و"الساعة"، و"اليوم"، و"الأسبوع"، و"الشهر"، و"السنة"
<format> لا السلسلة‬ إما محدد تنسيق فردي أو نمط تنسيق مخصص. يُعد التنسيق الافتراضي للطابع الزمني هو «o» (yyyy-MM-ddTHH:mm:ss.fffffffK)، والذي يتوافق مع ISO 8601 ويحافظ على معلومات المنطقة الزمنية.
قيمة الإرجاع النوع ‏‏الوصف
<الطابع الزمني المحدث> السلسلة‬ الطابع الزمني مطروحاً منه العدد المحدد للوحدات الزمنية

مثال 1

يطرح هذا المثال يوماً واحداً من هذا الطابع الزمني:

subtractFromTime('2018-01-02T00:00:00Z', 1, 'Day')

وإرجاع هذه النتيجة: "2018-01-01T00:00:00:0000000Z"

مثال 2

يطرح هذا المثال يوماً واحداً من هذا الطابع الزمني:

subtractFromTime('2018-01-02T00:00:00Z', 1, 'Day', 'D')

وإرجاع هذه النتيجة باستخدام تنسيق "D" الاختياري: "Monday, January, 1, 2018"

الوقت المستغرق

إرجاع العناصر من مقدمة المجموعة.

take('<collection>', <count>)
take([<collection>], <count>)
المعلمة‬ المطلوب نوع ‏‏الوصف
<مجموعة> ‏‏نعم‬ سلسلة أو صفيف المجموعة التي تريد عناصرها
<count> ‏‏نعم‬ رقم صحيح عدد صحيح موجب لعدد العناصر التي تريدها من المقدمة
قيمة الإرجاع النوع ‏‏الوصف
<مجموعة فرعية> أو [<مجموعة فرعية>] سلسلة أو صفيف، على التوالي سلسلة أو صفيف يحتوي على عدد محدد من العناصر المأخوذة من مقدمة المجموعة الأصلية

مثال

تحصل هذه الأمثلة على عدد محدد من العناصر من مقدمة هذه المجموعات:

take('abcde', 3)
take(createArray(0, 1, 2, 3, 4), 3)

وإرجاع هذه النتائج:

  • المثال الأول: "abc"
  • المثال الثاني: [0, 1, 2]

علامات تجزئة

إرجاع قيمة الخاصية ticks لطابع زمني محدد. علامة التجزئة عبارة عن فاصل زمني مدته 100 نانوثانية.

ticks('<timestamp>')
المعلمة‬ المطلوب نوع ‏‏الوصف
<الطابع الزمني> ‏‏نعم‬ السلسلة‬ السلسلة لطابع زمني
قيمة الإرجاع النوع ‏‏الوصف
<ticks-number> رقم صحيح عدد علامات التجزئة التي انقضت منذ 12:00:00 منتصف الليل، 1 يناير 0001 في التقويم الميلادي منذ الطابع الزمني للإدخال

للأسفل

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

toLower('<text>')
المعلمة‬ المطلوب نوع الوصف
<text> نعم السلسلة‬ السلسلة المراد إرجاعها بتنسيق الأحرف الصغيرة
قيمة الإرجاع النوع ‏‏الوصف
<lowercase-text> السلسلة‬ السلسلة الأصلية بتنسيق الأحرف الصغيرة

مثال

يحول هذا المثال هذه السلسلة إلى أحرف صغيرة:

toLower('Hello World')

وإرجاع هذه النتيجة: "hello world"

toUpper

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

toUpper('<text>')
المعلمة‬ المطلوب نوع الوصف
<text> نعم السلسلة‬ السلسلة المراد إرجاعها بتنسيق الأحرف الكبيرة
قيمة الإرجاع النوع ‏‏الوصف
<uppercase-text> السلسلة‬ السلسلة الأصلية بتنسيق الأحرف الكبيرة

مثال

يحول هذا المثال هذه السلسلة إلى أحرف كبيرة:

toUpper('Hello World')

وإرجاع هذه النتيجة: "HELLO WORLD"

trim

إزالة المسافة البيضاء البادئة والزائدة من سلسلة، ثم إرجاع السلسلة المحدثة.

trim('<text>')
المعلمة‬ المطلوب نوع الوصف
<text> نعم السلسلة‬ السلسلة التي تحتوي على المسافات البيضاء البادئة واللاحقة للإزالة
قيمة الإرجاع النوع ‏‏الوصف
<updatedText> السلسلة‬ إصدار محدث للسلسلة الأصلية دون مسافات بيضاء بادئة أو لاحقة

مثال

يزيل هذا المثال المسافة البيضاء البادئة واللاحقة من السلسلة «مرحبًا بالعالم»:

trim(' Hello World  ')

وإرجاع هذه النتيجة: "Hello World"

union

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

union('<collection1>', '<collection2>', ...)
union([<collection1>], [<collection2>], ...)
المعلمة‬ المطلوب نوع ‏‏الوصف
<مجموعة1>، <مجموعة2>، ... ‏‏نعم‬ صفيف أو كائن، ولكن ليس كليهما المجموعات من حيث تريد جميع العناصر
قيمة الإرجاع النوع ‏‏الوصف
<updatedCollection> صفيف أو كائن، على التوالي مجموعة تحتوي على جميع العناصر من المجموعات المحددة - دون تكرارات

مثال

يحصل هذا المثال على جميع العناصر من هذه المجموعات:

union(createArray(1, 2, 3), createArray(1, 2, 10, 101))

وإرجاع هذه النتيجة: [1, 2, 3, 10, 101]

uriComponent

قم بإرجاع إصدار مرمز باستخدام معرّف الموارد المنتظم (URI) لسلسلة من خلال استبدال أحرف URL غير الآمنة بأحرف الإلغاء. استخدم هذه الدالة بدلاً من encodeUriComponent(). على الرغم من أن كلتا الدالتين تعملان بنفس الطريقة، يفضل استخدام uriComponent().

uriComponent('<value>')
المعلمة‬ المطلوب نوع ‏‏الوصف
<قيمة> ‏‏نعم‬ السلسلة‬ السلسلة المطلوب تحويلها إلى تنسيق مرمز بـ URI
قيمة الإرجاع النوع ‏‏الوصف
<encoded-uri> السلسلة‬ السلسلة المرمزة باستخدام URI مع أحرف الإلغاء

مثال

ينشئ هذا المثال إصدار مرمز باستخدام URI لهذه السلسلة:

uriComponent('https://contoso.com')

وإرجاع هذه النتيجة: "http%3A%2F%2Fcontoso.com"

uriComponentToBinary

إرجاع الإصدار الثنائي لمكون معرف موارد منتظم (URI).

uriComponentToBinary('<value>')
المعلمة‬ المطلوب نوع ‏‏الوصف
<قيمة> ‏‏نعم‬ السلسلة‬ السلسلة المرمزة باستخدام URI المراد تحويلها
قيمة الإرجاع النوع ‏‏الوصف
<binary-for-encoded-uri> السلسلة‬ الإصدار الثنائي للسلسلة المرمزة باستخدام URI. المحتوى الثنائي هو base64-encoded وrepresented بواسطة $content.

مثال

ينشئ هذا المثال إصدار ثنائي لهذه السلسلة المرمزة باستخدام URI:

uriComponentToBinary('http%3A%2F%2Fcontoso.com')

وإرجاع هذه النتيجة:

"001000100110100001110100011101000111000000100101001100 11010000010010010100110010010001100010010100110010010001 10011000110110111101101110011101000110111101110011011011 110010111001100011011011110110110100100010"

uriComponentToString

إرجاع إصدار السلسلة لسلسلة مرمزة باستخدام معرف الموارد المنتظم (URI)، وفك ترميز السلسلة المرمزة باستخدام URI بشكلٍ فعال.

uriComponentToString('<value>')
المعلمة‬ المطلوب نوع ‏‏الوصف
<قيمة> ‏‏نعم‬ السلسلة‬ السلسلة المرمزة باستخدام URI المراد فك ترميزها
قيمة الإرجاع النوع ‏‏الوصف
<decoded-uri> السلسلة‬ الإصدار الذي تم فك ترميزه لسلسلة فك ترميزها باستخدام URI

مثال

ينشئ هذا المثال إصدار سلسلة فك ترميزها للسلسلة التي تم فك ترميزها باستخدام URI:

uriComponentToString('http%3A%2F%2Fcontoso.com')

وإرجاع هذه النتيجة: "https://contoso.com"

utcNow

إرجاع الطابع الزمني الحالي.

utcNow('<format>')

اختياريًا، يمكنك تحديد تنسيق مختلف باستخدام المعلمة <format>.

المعلمة‬ المطلوب نوع ‏‏الوصف
<format> لا السلسلة‬ إما محدد تنسيق فردي أو نمط تنسيق مخصص. يُعد التنسيق الافتراضي للطابع الزمني هو «o» (yyyy-MM-ddTHH:mm:ss.fffffffK)، والذي يتوافق مع ISO 8601 ويحافظ على معلومات المنطقة الزمنية.
قيمة الإرجاع النوع ‏‏الوصف
<current-timestamp> السلسلة‬ التاريخ والوقت الحاليان

مثال 1

لنفترض أن اليوم هو 15 أبريل 2018 الساعة 1:00 مساءً. يحصل هذا المثال الطابع الزمني الحالي:

utcNow()

وإرجاع هذه النتيجة: "2018-04-15T13:00:00.0000000Z"

مثال 2

لنفترض أن اليوم هو 15 أبريل 2018 الساعة 1:00 مساءً. يحصل هذا المثال الطابع الزمني الحالي باستخدام تنسيق "D" الاختياري:

utcNow('D')

وإرجاع هذه النتيجة: "Sunday, April 15, 2018"

xml

إرجاع إصدار XML لسلسلة تحتوي على كائن JSON.

xml('<value>')
المعلمة‬ المطلوب نوع ‏‏الوصف
<قيمة> ‏‏نعم‬ السلسلة‬ السلسلة التي تحتوي على كائن JSON لتحويلها

يجب أن يحتوي كائن JSON على خاصية جذر واحدة فقط، والتي لا يمكن أن تكون صفيف.
استخدم حرف الخط المائل العكسي (\) كحرف إلغاء لعلامة الاقتباس المزدوجة (").

قيمة الإرجاع النوع ‏‏الوصف
<xml-version> ‏‏الكائن إصدار XML المرمز لسلسلة أو كائن JSON محدد

مثال 1

ينشئ هذا المثال إصدار XML لهذه السلسلة التي تحتوي على كائن JSON:

xml(json('{ \"name\": \"Sophia Owen\" }'))

وإرجاع هذه النتيجة XML:

<name>Sophia Owen</name>

مثال 2

لمفترض أن لديك كائن JSON هذا:

{
  "person": {
    "name": "Sophia Owen",
    "city": "Seattle"
  }
}

ينشئ هذا المثال XML لسلسلة تحتوي على كائن JSON هذا:

xml(json('{\"person\": {\"name\": \"Sophia Owen\", \"city\": \"Seattle\"}}'))

وإرجاع هذه النتيجة XML:

<person>
  <name>Sophia Owen</name>
  <city>Seattle</city>
<person>

xpath

التحقق من XML للعقد أو القيم التي تطابق تعبير XPath (لغة مسار XML)، ثم إرجاع العقد أو القيم المتطابقة. يساعدك تعبير XPath أو "XPath" فقط، على التنقل في بنية مستند XML بحيث يمكنك تحديد العقد أو حساب القيم في محتوى XML.

xpath('<xml>', '<xpath>')
المعلمة‬ المطلوب نوع ‏‏الوصف
<xml> ‏‏نعم‬ أي سلسلة XML للبحث عن العقد أو القيم التي تطابق قيمة تعبير XPath
<xpath> ‏‏نعم‬ أي يستخدم تعبير XPath للبحث عن قيم أو عقد XML متطابقة
قيمة الإرجاع النوع ‏‏الوصف
<xml-node> XML عقدة XML عندما تتطابق عقدة واحدة فقط مع تعبير XPath المحدد
<قيمة> أي القيمة من عقدة XML عندما تتطابق قيمة واحدة فقط مع تعبير XPath المحدد
[<xml-node1>, <xml-node2>, ...]
-or-
[<value1>, <value2>, ...]
صفيف صفيف يحتوي على عقد XML أو قيم تطابق تعبير XPath المحدد

مثال 1

في المثال الأول، يجد هذا المثال العقد التي تطابق العقدة <count></count> ويضيف قيم العقد هذه مع الدالة sum():

xpath(xml(parameters('items')), 'sum(/produce/item/count)')

وإرجاع هذه النتيجة: 30

مثال 2

على سبيل المثال، يبحث كلا التعبيرين عن العقد التي تطابق العقدة <location></location>، في الوسائط المحددة، والتي تتضمن XML مع مساحة الاسم. تستخدم التعبيرات حرف الخط المائل العكسي (\) كحرف إلغاء لعلامة اقتباس مزدوجة (").

  • التعبير 1

    xpath(xml(body('Http')), '/*[name()=\"file\"]/*[name()=\"location\"]')

  • Expression 2

    xpath(xml(body('Http')), '/*[local-name()=\"file\" and namespace-uri()=\"http://contoso.com\"]/*[local-name()=\"location\"]')

فيما يلي الوسيطات:

  • إن إصدار XML هذا، هو الذي يتضمن مساحة اسم مستند XML، xmlns="http://contoso.com":

    <?xml version="1.0"?> <file xmlns="http://contoso.com"> <location>Paris</location> </file>
    
  • إما تعبير XPath هنا:

    • /*[name()=\"file\"]/*[name()=\"location\"]

    • /*[local-name()=\"file\" and namespace-uri()=\"http://contoso.com\"]/*[local-name()=\"location\"]

هنا هو عقدة النتيجة التي تطابق <location></location> العقدة:

<location xmlns="https://contoso.com">Paris</location>

مثال 3

باتباع المثال 3، يجد هذا المثال القيمة في العقدة <location></location>:

xpath(xml(body('Http')), 'string(/*[name()=\"file\"]/*[name()=\"location\"])')

وإرجاع هذه النتيجة: "Paris"

إشعار

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

للحصول على قائمة بمتغيرات النظام التي يمكنك استخدامها في التعبيرات، راجع متغيرات النظام.