وثائق نسخة التطويرقد تصف ميزات لم تصدر بعد.

كيف تستعمل هذا المرجع؟

تستدعي الدالة المضمّنة بكتابة نقطة بعد القيمة، ثم اسم الدالة: النص.طول() أو القائمة.أضف!(القيمة). ابحث أولًا في الفهرس عن نوع القيمة التي تعمل عليها، ثم افتح بطاقة الدالة لمعرفة المعاملات التي تستقبلها، والقيمة التي تعيدها، وهل تعدّل القيمة الأصلية.

فهرس حسب نوع القيمة

تفاصيل الدوال

.طول()

بلا معاملاتلا يغيّر القيمة الأصلية

يُعيد عدد مكوّنات القيمة المستقبِلة في صورة عدد صحيح دقيق.

يعتمد ما يُعَدّ على نوع القيمة: نقاط Unicode في النص، وعناصر القائمة، ومدخلات القاموس، والقيم التي يولّدها النطاق.

لا تنشئ الدالة قائمةً من النطاق لحساب طوله، ولذلك تظل النتيجة دقيقة حتى عندما يتجاوز العدد ما يستطيع العدد العشري تمثيله بدقة.

يعمل على
نص، قائمة، قاموس، نطاق
يعيد
عدد صحيح دقيق

السلوك بحسب نوع القيمة

نص
يحسب نقاط Unicode، بما فيها التشكيل المنفصل، لا وحدات UTF-16.
قائمة
يحسب عناصر القائمة الحالية.
قاموس
يحسب أزواج المفاتيح والقيم.
نطاق
يحسب عدد القيم رياضيًا مع مراعاة النهاية والخطوة.

ملاحظات

  • يجوز كتابة .طول من غير قوسين لأنها لا تستقبل معاملات.

مثال

الطول بحسب نوع المستقبل
الشيفرة(زيد)
اطبع "زيد".طول()اطبع [10، 20، 30].طول()اطبع {الاسم: "زيد"، الإصدار: "0.0.1"}.طول()اطبع (من 2 إلى 10 بخطوة 2).طول()
النتيجة
3325

يتكوّن النص من ثلاث نقاط Unicode، وتحتوي القائمة على ثلاثة عناصر، ويحتوي القاموس على مدخلين، ويولّد النطاق خمس قيم: 2 و4 و6 و8 و10.

.يحتوي؟(المطلوب)

مرادف.تحتوي؟(المطلوب)
معامل واحدلا يغيّر القيمة الأصلية

يختبر وجود جزء أو قيمة أو مفتاح داخل المستقبل.

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

تحتوي؟ اسم بديل للدالة نفسها؛ ولا يختلف السلوك أو نوع النتيجة بين الاسمين.

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

السلوك بحسب نوع القيمة

نص
يبحث عن نص فرعي مطابق تمامًا وحساس للتشكيل.
قائمة
يعيد صحيح عند وجود عنصر مساوٍ للمطلوب.
قاموس
يفحص المفاتيح؛ وإذا لم يكن المعامل نصًا، تُعيد الدالة خطأ من دون رفع خطأ.
نطاق
يفحص العضوية حسابيًا من غير توسيع النطاق.

ملاحظات

  • كل نص يحتوي النص الفارغ.

يرفع خطأ عندما

  • تُستدعى الدالة على نص، لكن المعامل ليس نصًا؛ ولا تحوّل لغة زيد القيمة إلى نص تلقائيًّا.

مثال

أربعة معاني للاحتواء
الشيفرة(زيد)
اطبع "لغة عربية".يحتوي؟("عربية")اطبع [10، 20، 30].تحتوي؟(20)اطبع {الاسم: "زيد"}.يحتوي؟("الاسم")اطبع (من 1 إلى 9 بخطوة 2).يحتوي؟(6)
النتيجة
صحيحصحيحصحيحخطأ

السطر الثاني يستخدم المرادف المؤنث. أما 6 فليس من قيم النطاق الفردية، لذلك تكون النتيجة الأخيرة خطأ.

.إلى عدد()

بلا معاملاتلا يغيّر القيمة الأصلية

يحوّل النص العددي الكامل إلى عدد صحيح أو عشري بحسب صياغته.

تقبل الدالة الأرقام الغربية والعربية الهندية، والفاصلَين . و٫، والصيغة الأسية، والإشارة الرمزية أو اللفظية. وتُهمَل المسافات المحيطة بالنص، لكن يجب أن يكون النص كله عددًا صالحًا.

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

يعمل على
نص
يعيد
عدد صحيح أو عشري

ملاحظات

  • لا تقبل الدالة اختصارات المضيف مثل النص الفارغ أو الأعداد الست عشرية.

يرفع خطأ عندما

  • لا يمثل النص عددًا صالحًا كاملًا.
  • ينتج التحويل العشري قيمة غير منتهية.
  • يتجاوز العدد الصحيح الحدّ المسموح به، أو تتجاوز كلفة إنشائه حدّ التنفيذ.

مثال

نوع النتيجة جزء من التحويل
الشيفرة(زيد)
اجعل الأول يساوي "30".إلى عدد()اجعل الثاني يساوي "30.0".إلى عدد()اجعل الثالث يساوي "٣٠٫٥".إلى عدد()اطبع الأول.إلى نص()اطبع الثاني.إلى نص()اطبع الثالث.إلى نص()
النتيجة
3030.030.5

تظهر .إلى نص() الفرق الملحوظ بين الصحيح 30 والعشري 30.0. ويُفهَم الفاصل العشري العربي في المثال الثالث بالطريقة نفسها.

.عدد؟()

بلا معاملاتلا يغيّر القيمة الأصلية

يتحقّق من إمكان تحويل النص كله إلى عدد.

يستخدم الاختبار القواعد نفسها التي تستخدمها .إلى عدد(): المسافات المحيطة، وأنواع الأرقام، والفاصل العشري، والصيغة الأسية، وأن تكون النتيجة العشرية محدودة وليست لا نهائية.

يُعيد خطأ عندما يكون النص غير صالح، من دون رفع خطأ تحويل؛ لذلك يمكنك استخدامه قبل التحويل لتجنّب الخطأ.

يعمل على
نص
يعيد
قيمة منطقية

ملاحظات

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

يرفع خطأ عندما

  • يتجاوز إنشاء عدد صحيح صالح حد التنفيذ.

مثال

حراسة التحويل
الشيفرة(زيد)
اطبع "١٢٫٥".عدد؟()اطبع "12px".عدد؟()
النتيجة
صحيحخطأ

الأول نص عددي كامل، أما الثاني فيحتوي على أحرف بعد العدد، فلا يطابق قواعد التحويل.

.إلى قيمة منطقية()

بلا معاملاتلا يغيّر القيمة الأصلية

يحوّل النص صحيح أو خطأ أو خاطئ إلى قيمة منطقية.

تُحذف مسافات التحويل المحيطة بالنص أولًا. بعد ذلك تعيد صحيح القيمة الصادقة، بينما تعيد الصيغتان خطأ وخاطئ القيمة الكاذبة.

لا يقبل التحويل كلمات إضافية مثل نعم ولا، ولا يحوّل الأعداد إلى قيم منطقية.

يعمل على
نص
يعيد
قيمة منطقية

يرفع خطأ عندما

  • لا يطابق النص إحدى الصيغ المنطقية الثلاث المقبولة.

مثال

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

تُهمل المسافتان حول صحيح، وتُعرض القيمة الناتجة عن خاطئ بالصيغة القانونية خطأ.

.منطقي؟()

بلا معاملاتلا يغيّر القيمة الأصلية

يختبر هل يمكن تحويل النص إلى قيمة منطقية.

يقبل الاختبار الصيغ نفسها التي تقبلها .إلى قيمة منطقية() بعد حذف المسافات المحيطة. ويُعيد خطأ للنصوص الأخرى من دون رفع خطأ تحويل.

يعمل على
نص
يعيد
قيمة منطقية

مثال

تمييز النص المنطقي
الشيفرة(زيد)
اطبع "خطأ".منطقي؟()اطبع "نعم".منطقي؟()
النتيجة
صحيحخطأ

خطأ صيغة تحويل معتمدة، بينما نعم ليست مرادفًا منطقيًا في زيد.

.إلى نص()

بلا معاملاتلا يغيّر القيمة الأصلية

يُعيد التمثيل النصي المعتمد للقيمة البسيطة، مع الحفاظ على نوع العدد.

يعيد النص نفسه من غير تغيير. ويحوّل الصحيح والعشري والقيمة المنطقية والعدم إلى نصوصها القانونية كما تظهر في زيد.

يحافظ تحويل العدد العشري على ما يميّزه عن الصحيح، مثل اللاحقة .0 والصفر السالب. ولا تدعم النسخة 0.0.1 تحويل القوائم والقواميس والنطاقات إلى نص.

يعمل على
نص، عدد، قيمة منطقية، عدم
يعيد
نص

السلوك بحسب نوع القيمة

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

ملاحظات

  • عرض مجموعة بـ اطبع ليس تحويلًا لها عبر .إلى نص().

يرفع خطأ عندما

  • يُستدعى التحويل على قائمة أو قاموس أو نطاق؛ هذه الحالات مؤجلة في 0.0.1.
  • يتجاوز النص الناتج الحدّ المسموح لطول النص أثناء التنفيذ.

مثال

النتائج نصوص فعلًا
الشيفرة(زيد)
اطبع [30.0.إلى نص()، صحيح.إلى نص()، عدم.إلى نص()]
النتيجة
["30.0"، "صحيح"، "عدم"]

وضع النتائج داخل قائمة يجعل علامات الاقتباس ظاهرة، ويبيّن أن 30.0 بقي تمثيلًا لعشري لا لصحيح.

.مطلق()

بلا معاملاتلا يغيّر القيمة الأصلية

يعيد القيمة المطلقة للعدد مع الحفاظ على نوعه.

إذا كان العدد صحيحًا كانت النتيجة عددًا صحيحًا، وإذا كان عشريًا كانت النتيجة عددًا عشريًا. ولا تغيّر الدالة الأعداد غير السالبة، وتحول الصفر العشري السالب إلى 0.0 موجب.

انتبه إلى أولوية الاستدعاء: يجب وضع العدد المنفي بين قوسين، لأن ناقص 5.مطلق() يعني نفي نتيجة 5.مطلق().

يعمل على
عدد
يعيد
عدد من نوع المستقبل

يرفع خطأ عندما

  • يتجاوز إنشاء القيمة الصحيحة الموجبة حد عمل التنفيذ.

مثال

الصحيح والصفر العشري السالب
الشيفرة(زيد)
اطبع (ناقص 5).مطلق()اطبع (ناقص 0.0).مطلق().إلى نص()
النتيجة
50.0

تنتج القيمة الأولى صحيحًا، وتظهر .إلى نص() أن الثانية بقيت عشرية بعد إزالة إشارة الصفر السالب.

.إلى أقرب عدد صحيح()

بلا معاملاتلا يغيّر القيمة الأصلية

يقرّب العدد إلى أقرب قيمة صحيحة ويعيد عددًا صحيحًا دقيقًا.

يعيد المستقبل نفسه عندما يكون صحيحًا. أما العشري فيُقرّب إلى أقرب صحيح، وتُقرّب حالة المنتصف بعيدًا عن الصفر: 2.5 إلى 3 و-2.5 إلى -3.

النتيجة دائمًا من نوع العدد الصحيح، حتى عندما كان المستقبل عشريًا ذا قيمة صحيحة.

يعمل على
عدد
يعيد
عدد صحيح

يرفع خطأ عندما

  • تتجاوز النتيجة أو كلفة إنشائها حد العدد الصحيح في التنفيذ.

مثال

منتصف المسافة يُقرّب بعيدًا عن الصفر
الشيفرة(زيد)
اطبع 2.5.إلى أقرب عدد صحيح()اطبع (ناقص 2.5).إلى أقرب عدد صحيح()
النتيجة
3-3

تُقرِّب الدالة القيمتين 2.5 وناقص 2.5 بعيدًا عن الصفر؛ لذلك تكون النتيجتان متناظرتين.

.صحيح؟()

بلا معاملاتلا يغيّر القيمة الأصلية

يتحقّق مما إذا كان العدد بلا جزء كسري.

تُعيد الدالة صحيح لكل عدد صحيح، كما تُعيده للعدد العشري الذي ليس له جزء كسري، مثل 7.0، مع بقائه عشريًا من حيث النوع.

يعمل على
عدد
يعيد
قيمة منطقية

مثال

النوع والقيمة سؤالان مختلفان
الشيفرة(زيد)
اطبع 7.صحيح؟()اطبع 7.0.صحيح؟()اطبع 7.25.صحيح؟()
النتيجة
صحيحصحيحخطأ

7.0 عشري، لكنه صحيح القيمة؛ لذلك لا تستعمل هذه الدالة لتمييز النوعين.

.زوجي؟()

بلا معاملاتلا يغيّر القيمة الأصلية

يتحقّق مما إذا كان العدد الذي ليس له جزء كسري يقبل القسمة على اثنين من دون باقٍ.

تعمل الدالة على الأعداد الصحيحة وعلى الأعداد العشرية التي ليس لها جزء كسري، مثل 12.0. ولا تُعرَّف الزوجية لعدد ذي جزء كسري.

يعمل على
عدد
يعيد
قيمة منطقية

يرفع خطأ عندما

  • يكون المستقبل عشريًا ذا جزء كسري.

مثال

اختبار الزوجية
الشيفرة(زيد)
اطبع 12.زوجي؟()اطبع 13.زوجي؟()
النتيجة
صحيحخطأ

12 من مضاعفات اثنين، بينما يبقى واحد عند قسمة 13 على اثنين.

.فردي؟()

بلا معاملاتلا يغيّر القيمة الأصلية

يتحقّق مما إذا كان العدد الذي ليس له جزء كسري لا يقبل القسمة على اثنين من دون باقٍ.

تعمل الدالة على الأعداد الصحيحة وعلى الأعداد العشرية التي ليس لها جزء كسري. وهي المقابل المنطقي لـ .زوجي؟() لكل قيمة صالحة لاختبار الزوجية.

يعمل على
عدد
يعيد
قيمة منطقية

يرفع خطأ عندما

  • يكون المستقبل عشريًا ذا جزء كسري.

مثال

اختبار الفردية
الشيفرة(زيد)
اطبع 12.فردي؟()اطبع 13.فردي؟()
النتيجة
خطأصحيح

12 زوجي، و13 فردي؛ لذلك تعكس النتيجتان مثال .زوجي؟().

.مع(القيمة)

معامل واحدلا يغيّر القيمة الأصلية

يُعيد نسخةً سطحية جديدة من القائمة، مع إضافة القيمة إلى نهايتها.

تُنشئ الدالة قائمةً جديدة وتنقل إليها العناصر الحالية كما هي، ثم تضيف المعامل عنصرًا أخيرًا. ولا تتغيّر القائمة الأصلية.

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

يعمل على
قائمة
المعامل
القيمة — القيمة التي توضع عنصرًا جديدًا في نهاية النسخة.
يعيد
قائمة جديدة

يرفع خطأ عندما

  • يتجاوز إنشاء القائمة الجديدة ميزانية إنشاء المجموعات.

مثال

الأصل يبقى كما هو
الشيفرة(زيد)
اجعل الأصل يساوي [1، 2]اجعل الجديدة تساوي الأصل.مع(3)اطبع الأصلاطبع الجديدة
النتيجة
[1، 2][1، 2، 3]

تعيد .مع() قيمة جديدة، ولذلك لم يظهر 3 في الأصل. استخدم .أضف!() عندما تريد تعديل القائمة نفسها.

.بدون(القيمة أو المفتاح)

معامل واحدلا يغيّر القيمة الأصلية

يُعيد نسخةً سطحية من قائمة أو قاموس بعد حذف قيمة واحدة أو مفتاح واحد.

في القائمة يحذف أول عنصر مساوٍ للمعامل فقط. وفي القاموس يعامل المعامل بوصفه مفتاحًا نصيًا ويحذف مدخله مع الحفاظ على ترتيب المدخلات الباقية.

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

يعمل على
قائمة، قاموس
المعامل
القيمة أو المفتاح — القيمة المراد حذف أول مثيل مساوٍ لها، أو مفتاح القاموس النصي.
يعيد
قائمة أو قاموس جديد

السلوك بحسب نوع القيمة

قائمة
يحذف أول عنصر مساوٍ ويترك التكرارات اللاحقة.
قاموس
يحذف المفتاح النصي ويحفظ ترتيب المدخلات الأخرى.

يرفع خطأ عندما

  • لا يوجد عنصر مساوٍ في القائمة أو مفتاح مطابق في القاموس.
  • يُمرر إلى القاموس مفتاح غير نصي.
  • يتجاوز إنشاء النسخة ميزانية إنشاء المجموعات.

أمثلة

حذف أول عنصر من نسخة
الشيفرة(زيد)
اجعل الأصل يساوي ["أ"، "ب"، "أ"]اجعل الجديدة تساوي الأصل.بدون("أ")اطبع الأصلاطبع الجديدة
النتيجة
["أ"، "ب"، "أ"]["ب"، "أ"]

بقيت القائمة الأصلية، وحُذف أول "أ" فقط من النسخة.

حذف مفتاح من نسخة قاموس
الشيفرة(زيد)
اجعل المستخدم يساوي {الاسم: "زيد"، العمر: 1}اجعل المختصر يساوي المستخدم.بدون("العمر")اطبع المستخدماطبع المختصر
النتيجة
{"الاسم": "زيد"، "العمر": 1}{"الاسم": "زيد"}

بقي مدخل العمر في المستخدم، واختفى من القاموس الجديد وحده.

.أضف!(القيمة)

معامل واحديغيّر القيمة الأصلية

يضيف قيمة واحدة إلى نهاية القائمة ويعيد القائمة نفسها.

تُعدِّل الدالة القائمة الأصلية بدلًا من إنشاء قائمة جديدة، ثم تُعيد القائمة نفسها. ولذلك يمكنك استدعاء دالة تعديل أخرى مباشرةً على النتيجة.

يعمل على
قائمة
المعامل
القيمة — القيمة التي تضاف عنصرًا واحدًا في نهاية القائمة.
يعيد
المستقبل نفسه بعد تعديله

يرفع خطأ عندما

  • تتجاوز الإضافة ميزانية إنشاء عناصر المجموعات.

مثال

التعديل والربط
الشيفرة(زيد)
اجعل الأعداد تساوي [1، 2]الأعداد.أضف!(3).أضف!(4)اطبع الأعداد
النتيجة
[1، 2، 3، 4]

نجح الاستدعاء الثاني لأن الأول أعاد القائمة نفسها بعد إضافة 3.

.احذف!(القيمة أو المفتاح)

معامل واحديغيّر القيمة الأصلية

يحذف هدفًا واحدًا من قائمة أو قاموس ويعيد المستقبل نفسه.

في القائمة تحذف الدالة أول عنصر مساوٍ للمعامل. وفي القاموس تحذف المدخل ذي المفتاح النصي المحدد.

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

يعمل على
قائمة، قاموس
المعامل
القيمة أو المفتاح — القيمة المراد حذف أول مثيل لها، أو مفتاح القاموس النصي.
يعيد
المستقبل نفسه بعد تعديله

السلوك بحسب نوع القيمة

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

يرفع خطأ عندما

  • لا يوجد عنصر مساوٍ في القائمة أو مفتاح مطابق في القاموس.
  • يُمرر إلى القاموس مفتاح غير نصي.

أمثلة

حذف أول تكرار من قائمة
الشيفرة(زيد)
اجعل القيم تساوي [1، 2، 1]القيم.احذف!(1)اطبع القيم
النتيجة
[2، 1]

تغيرت القيم نفسها، وبقي التكرار الثاني للعدد 1.

حذف مدخل من قاموس
الشيفرة(زيد)
اجعل المستخدم يساوي {الاسم: "زيد"، العمر: 1}المستخدم.احذف!("العمر")اطبع المستخدم
النتيجة
{"الاسم": "زيد"}

اختفى المدخل من القاموس الأصلي، لا من نسخة منفصلة.

.عشوائي()

مرادف.عشوائية()
بلا معاملاتلا يغيّر القيمة الأصلية

يعيد عنصرًا من موضع عشوائي في قائمة أو نطاق.

تختار الدالة فهرسًا عشوائيًا صالحًا داخل القائمة أو النطاق، ثم تُعيد القيمة الموجودة في ذلك الموضع. ويعتمد التوزيع على مولّد الأعداد العشوائية في بيئة التشغيل.

لا تُنسخ القيمة المختارة. فإذا كانت قائمةً أو قاموسًا متداخلًا، فإن تعديلها يغيّر العنصر نفسه داخل القائمة الأصلية. وعشوائية اسم بديل للدالة نفسها.

يعمل على
قائمة، نطاق
يعيد
العنصر المختار

السلوك بحسب نوع القيمة

قائمة
يختار أحد مواضع القائمة، وتبقى القيم المتكررة مواضع مستقلة.
نطاق
يختار موضعًا من قيم النطاق من غير توسيعه كاملًا.

ملاحظات

  • يجوز حذف القوسين عن الصيغتين لأنهما لا تستقبلان معاملات.

يرفع خطأ عندما

  • تكون القائمة أو النطاق فارغًا.
  • يكون النطاق أكبر من الحد الذي تستطيع الدالة اختيار فهرس عشوائي آمن منه.

مثال

اختبار الضمان بدل توقع قيمة بعينها
الشيفرة(زيد)
اجعل الألوان تساوي ["أحمر"، "أخضر"، "أزرق"]اجعل اللون يساوي الألوان.عشوائية()اجعل العدد يساوي (من 1 إلى 5).عشوائي()اطبع الألوان.يحتوي؟(اللون)اطبع (من 1 إلى 5).يحتوي؟(العدد)
النتيجة
صحيحصحيح

لا يفترض المثال قيمةً عشوائية بعينها، بل يتحقق من أن كل قيمة مختارة تنتمي إلى المصدر الذي اختيرت منه.

زيد — لغة برمجة عربية أصيلةMPL-2.0

البحث في توثيق زيد

ابدأ بكتابة كلمة أو اسم بناء مثل «لكل».