سيتم إطلاق BazelCon لعام 2022 في الفترة من 16 إلى 17 تشرين الثاني (نوفمبر) في نيويورك وعلى الإنترنت. التسجيل اليوم
جديد: انضم إلينا في يوم المنتدى في 15 تشرين الثاني (نوفمبر). التفاصيل والتسجيل:

على الصعيد العالمي

تنظيم صفحاتك في مجموعات يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
الكائنات والوظائف والوحدات المسجَّلة في البيئة العالمية

المشتركون الداعمون

all

bool all(elements)

عرض "صحيح" إذا تم تقييم جميع العناصر على "صحيح" أو إذا كانت المجموعة فارغة. يتم تحويل العناصر إلى منطقية باستخدام الدالة bool.
all(["hello", 3, True]) == True
all([-1, 0, 1]) == False

المَعلمات

المعلمة الوصف
elements مطلوبة
سلسلة أو مجموعة من العناصر

تحليل_اختبار_نقل

transition analysis_test_transition(settings)

يتم إنشاء عملية نقل إعدادات لتطبيقها على تبعيات قاعدة تحليل التحليل. قد يتم تطبيق هذا النقل على سمات القواعد مع analysis_test = True فقط. وتكون هذه القواعد محدودة في الإمكانات (على سبيل المثال، يكون حجم شجرة الاعتماد الخاصة بها محدودًا)، لذا تكون عمليات النقل التي يتم إنشاؤها باستخدام هذه الدالة محدودة في النطاق المحتمل مقارنةً بعمليات النقل التي يتم إنشاؤها باستخدام النقل.

تم تصميم هذه الدالة بشكل أساسي لتسهيل استخدام المكتبة الأساسية لإطار عمل تحليل. يُرجى الاطّلاع على المستندات (أو تنفيذها) للحصول على أفضل الممارسات.

المَعلمات

المعلمة الوصف
settings مطلوبة
قاموس يحتوي على معلومات حول إعدادات الضبط، والتي يجب ضبطها من خلال عملية نقل الإعدادات هذه. المفاتيح هي تصنيفات إعداد الإصدار والقيم هي القيم الجديدة بعد النقل. ولن يتم تغيير جميع الإعدادات الأخرى. استخدِم هذا الخيار لعرض إعدادات الضبط المحدّدة التي يتطلبها اختبار التحليل حتى يتم اجتيازها.

أي فلتر

bool any(elements)

عرض "صحيح" إذا تم تقييم عنصر واحد على الأقل على "صحيح". يتم تحويل العناصر إلى منطقية باستخدام الدالة bool.
any([-1, 0, 1]) == True
any([False, 0, ""]) == False

المَعلمات

المعلمة الوصف
elements مطلوبة
سلسلة أو مجموعة من العناصر

الأرشيف_تجاوز

None archive_override(module_name, urls, integrity='', strip_prefix='', patches=[], patch_cmds=[], patch_strip=0)

يُحدد أن هذه الاعتمادية يجب أن تأتي من ملف أرشيف (zip، gzip، وغير ذلك) في موقع معين، بدلاً من سجل. ولا يمكن استخدام هذا التوجيه إلا من خلال الوحدة الجذر، أي أنه في حال حدّدت الوحدة أي عمليات إلغاء، لن يتمكّن الآخرون من استخدامها كاعتمادية.

المَعلمات

المعلمة الوصف
module_name مطلوب
اسم اعتمادية وحدة Bazel لتطبيق هذا الإلغاء عليها.
urls string; or Iterable of strings، مطلوبة
يمكن أن تكون عناوين URL للأرشيف هي عناوين URL التي تبدأ بـ http(s):// أو file://.
integrity الإعداد التلقائي = ''
هو المجموع الاختباري المُتوقَّع لملف الأرشيف بتنسيق "سلامة الموارد الفرعية".
strip_prefix default = ''
بادئة دليل لإزالة الملفات من الملفات المستخرَجة.
patches Iterable of strings; default = []
قائمة بالتصنيفات التي تشير إلى ملفات رموز التصحيح لتطبيقها على هذه الوحدة. يجب أن تكون ملفات التصحيح متوفّرة في العرض التدرّجي المصدر لمشروع المستوى الأعلى. ويتم تطبيقها بترتيب القائمة.
patch_cmds Iterable of strings؛ الإعداد التلقائي = []
سيتم تطبيق تسلسل أوامر Bash على نظامَي التشغيل Linux/MacOS بعد تطبيق التصحيحات.
patch_strip default = 0
مماثل للوسيطة --strip من تصحيح Unix.

الجانب

Aspect aspect(implementation, attr_aspects=[], attrs=None, required_providers=[], required_aspect_providers=[], provides=[], requires=[], fragments=[], host_fragments=[], toolchains=[], incompatible_use_toolchain_transition=False, doc='', *, apply_to_generating_rules=False, exec_compatible_with=[], exec_groups=None)

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

المَعلمات

المعلمة الوصف
implementation مطلوبة
دالة Starlark التي تنفِّذ هذا الجانب، بمَعلَمتَين بالضبط: Target (الهدف الذي يتم تطبيق الجانب عليه) وctx (سياق القاعدة الذي يتم إنشاء الهدف منه). تتوفّر سمات الهدف من خلال الحقل ctx.rule. يتم تقييم هذه الدالة أثناء مرحلة التحليل لكل تطبيق من الجوانب على الهدف.
attr_aspects sequence of strings; default = []
قائمة بأسماء السمات. يتم نشر الجانب على التبعيات المحددة في سمات الهدف بهذه الأسماء. تشمل القيم الشائعة هنا deps وexports. يمكن أن تحتوي القائمة أيضًا على سلسلة واحدة "*" لنشرها على جميع تبعيات الهدف.
attrs dict; or None; default = None
قاموس يُعلن عن جميع سمات الجانب. ويتم ربطها من اسم سمة إلى كائن سمة، مثل `attr.label` أو `attr.string` (اطّلِع على وحدة attr). تتوفّر سمات العرض إلى الارتفاع لوظيفة التنفيذ كحقول بمَعلمة ctx.

يجب أن تحتوي السمات الضمنية التي تبدأ بـ _ على قيم تلقائية، وأن تكون من النوع label أو label_list.

يجب أن تستخدم السمات الصريحة النوع string، ويجب استخدام القيد values. تحدّد السمات الفاضحة استخدام الجانب فقط في القواعد التي تتضمّن سمات الاسم والنوع والقيم الصالحة نفسها وفقًا للقيود.

required_providers الإعداد التلقائي = []
تسمح هذه السمة للجانب بالحد من نشرها فقط على الاستهدافات التي تُعلن قواعدها عن مقدّمي الخدمة المطلوبين. يجب أن تكون القيمة قائمة تحتوي على إما أسماء مقدّمي الخدمات الفرديين أو قوائم مقدّمي الخدمات، ولكن ليس كليهما. على سبيل المثال، قيمة [[FooInfo], [BarInfo], [BazInfo, QuxInfo]] هي صالحة بينما [FooInfo, BarInfo, [BazInfo, QuxInfo]] غير صالح.

سيتم تحويل قائمة غير مدمجة من مقدّمي الخدمة تلقائيًا إلى قائمة تحتوي على قائمة واحدة من مقدّمي الخدمة. وهذا يعني أنه سيتم تحويل [FooInfo, BarInfo] تلقائيًا إلى [[FooInfo, BarInfo]].

لجعل بعض قواعد القاعدة (مثل some_rule) مرئية لأحد الجوانب، يجب أن يُعلن some_rule عن جميع مقدّمي الخدمة من قائمة واحدة على الأقل من قوائم مقدّمي الخدمة المطلوبة. على سبيل المثال، إذا كانت required_providers لأحد الجوانب هي [[FooInfo], [BarInfo], [BazInfo, QuxInfo]]، لا يمكن لهذا الجانب الاطّلاع على أهداف some_rule إلا إذا كان some_rule يوفّر FooInfo *أو* BarInfo *أو* كلاً من BazInfo *و* QuxInfo.

required_aspect_providers تلقائية = []
تسمح هذه السمة بفحص جوانب أخرى. يجب أن تكون القيمة قائمة تحتوي على إما أسماء مقدّمي الخدمات الفرديين أو قوائم مقدّمي الخدمات، ولكن ليس كليهما. على سبيل المثال، قيمة [[FooInfo], [BarInfo], [BazInfo, QuxInfo]] هي صالحة بينما [FooInfo, BarInfo, [BazInfo, QuxInfo]] غير صالح.

سيتم تحويل قائمة غير مدمجة من مقدّمي الخدمة تلقائيًا إلى قائمة تحتوي على قائمة واحدة من مقدّمي الخدمة. وهذا يعني أنه سيتم تحويل [FooInfo, BarInfo] تلقائيًا إلى [[FooInfo, BarInfo]].

لجعل جانب آخر (مثل other_aspect) مرئيًا لهذا الجانب، يجب أن يزوّد other_aspect جميع مقدّمي الخدمة من قائمة واحدة على الأقل. في مثال [[FooInfo], [BarInfo], [BazInfo, QuxInfo]]، لا يمكن لهذا الجانب رؤية other_aspect إلا إذا كان other_aspect يوفّر FooInfo *أو* BarInfo *أو* كلاً من BazInfo *و* QuxInfo.

provides default = []
قائمة بمقدّمي الخدمات التي يجب أن تعرضها دالة التنفيذ

يحدث خطأ إذا لم تدرِج دالة التنفيذ أيًا من أنواع مقدّمي الخدمة المدرَجين هنا من قيمة العرض. ومع ذلك، قد تعرض وظيفة التنفيذ موفّري خدمة إضافيين غير مدرجين هنا.

يمثّل كل عنصر من القائمة عنصر *Info يعرضه provider()، باستثناء أنّ الموفّر القديم يمثّل اسم السلسلة بدلاً من ذلك.

requires sequence of Aspects; default = []
قائمة بالجوانب المطلوب نشرها قبل هذا الجانب.
fragments sequence of strings; default = []
قائمة بأسماء أجزاء الضبط التي يتطلبها الجانب في الضبط الهدف.
host_fragments sequence of strings; default = []
قائمة بأسماء أجزاء الضبط التي يتطلبها الجانب في ضبط المضيف.
toolchains sequence؛ default = []
في حال ضبط هذه السياسة، تتطلب مجموعة سلاسل الأدوات هذه القاعدة. يمكن أن تتضمن القائمة كائنات "السلسلة" أو "التصنيف" أو StarlarkToolchainTypeApi، في أي مجموعة. يمكن العثور على سلاسل الأدوات من خلال التحقّق من النظام الأساسي الحالي، وتوفيرها لتنفيذ القاعدة من خلال ctx.toolchain.
incompatible_use_toolchain_transition default = False
تم إيقاف العمل به ولم يعد قيد الاستخدام ويجب إزالته.
doc الإعداد التلقائي = ''
وصف للجانب الذي يمكن استخراجه من خلال أدوات إنشاء المستندات.
apply_to_generating_rules default = False
إذا كان هذا صحيحًا، سيتم تطبيق الجانب، عند تطبيقه على ملف إخراج، بدلاً من ذلك على قاعدة إنشاء ملف الإخراج.

على سبيل المثال، لنفترض أن هناك جانب يتم نشره بشكل عبري عبر السمة `deps` ويتم تطبيقه على الهدف `alpha`. لنفترض أن `alpha` تتضمّن `deps = [':beta_output']`، حيث تكون ` beta_output` هي مخرجات مُعلنة لـ `تجريبية` المستهدفة. لنفترض أن الفترة التجريبية ``` وال``` `` . السمع البيئي وتقدّم التسوّق_ تتميّز بتغيّر يتضمّن الحالات القديمة

الإعداد التلقائي هو "خطأ".

exec_compatible_with sequence of strings; default = []
هي قائمة بالقيود المفروضة على منصة التنفيذ التي تنطبق على جميع النُسخ من هذا الجانب.
exec_groups dict; or None; default = None
إملاء اسم مجموعة التنفيذ (سلسلة) إلى exec_groups. في حال ضبطها، يتم السماح للجوانب بتنفيذ إجراءات على منصّات تنفيذ متعددة في مثيل واحد. اطّلِع على مستندات مجموعات التنفيذ لمزيد من المعلومات.

Babelel_dep

None bazel_dep(name, version='', repo_name='', dev_dependency=False)

يُعلن عن اعتمادية مباشرة على وحدة Bazel أخرى.

المَعلمات

المعلمة الوصف
name مطلوبة.
اسم الوحدة التي ستتم إضافتها كاعتمادية مباشرة.
version التلقائي = ''
إصدار الوحدة التي ستتم إضافتها كاعتمادية مباشرة.
repo_name default = ''
اسم الاستئجار الخارجي الذي يمثل هذه الاعتمادية. ويكون هذا هو اسم الوحدة تلقائيًا.
dev_dependency default = False
إذا كانت القيمة "true"، سيتم تجاهل هذه الاعتمادية إذا لم تكن الوحدة الحالية هي الوحدة الجذر أو تم تفعيل "--ignore_dev_dependency".

ربط

None bind(name, actual=None)

تحذير: لا ننصح باستخدام bind(). اطّلِع على إزالة الربط لإجراء مناقشة طويلة حول مشاكله وبدائله.

تمنح الاسم المستعار الهدف في حزمة //external

المَعلمات

المعلمة الوصف
name مطلوب
التصنيف ضمن '//external' ليكون الاسم المستعار
actual string; or None، القيمة التلقائية = ما مِن قيمة
التصنيف الحقيقي الذي سيتم استخدامه كعنوان بديل للبريد الإلكتروني

قيمة منطقية

bool bool(x=False)

أداة الإنشاء لنوع المنطقي. تعرض False إذا كان الكائن None أو False أو سلسلة فارغة ("") أو الرقم 0 أو مجموعة فارغة (على سبيل المثال () أو []). وبخلاف ذلك، سيتم عرض True.

المَعلمات

المعلمة الوصف
x default = False
المتغيّر المطلوب تحويله.

حقل_الضبط

LateBoundDefault configuration_field(fragment, name)

تشير إلى قيمة تلقائية مقيّدة تأخير للسمة من النوع label. وتكون القيمة 'lay-bound&#39؛ إذا كانت تتطلّب إنشاء الإعداد قبل تحديد القيمة. يجب أن تكون أي سمة تستخدم هذه القيمة خاصةً.

مثال للاستخدام:

تعريف سمة القاعدة:

'_foo': attr.label(default=configuration_field(fragment='java', name='toolchain'))

الوصول إلى تنفيذ القاعدة:

  def _rule_impl(ctx):
    foo_info = ctx.attr._foo
    ...

المَعلمات

المعلمة الوصف
fragment مطلوب
اسم جزء الضبط الذي يتضمّن القيمة المتأخرة.
name مطلوب
اسم القيمة التي يجب الحصول عليها من جزء الضبط.

Depset

depset depset(direct=None, order="default", *, transitive=None)

إنشاء depset. المَعلمة direct هي قائمة بالعناصر المباشرة للعمق المُحدَّد، والمعلّمة transitive هي قائمة من الإضافات التي تصبح عناصرها عناصر غير مباشرة في المجموعة المُنشأة التي تم إنشاؤها. تُحدِّد المعلّمة order الترتيب الذي يتم فيه عرض العناصر عند تحويل الفاصل إلى قائمة. راجِع نظرة عامة على العمق للحصول على مزيد من المعلومات.

يجب أن تكون جميع العناصر (المباشرة وغير المباشرة) الخاصة بفصل محدد من النوع نفسه، كما يتم الحصول عليه من خلال التعبير type(x).

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

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

يجب أن يكون ترتيب مجموعة الإعدادات التي تم إنشاؤها متوافقًا مع ترتيب الـ transitive. يتوافق طلب "default" مع أي طلب آخر، في حين تتوافق جميع الطلبات الأخرى مع هذه الطلبات فقط.

ملاحظة حول التوافق مع ميزة "التخزين المؤقت للصفحات". تقبل هذه الدالة حاليًا معلّمة items الموضعية. تم إيقاف العمل به وستتم إزالته في المستقبل، وبعد إزالته سيصبح direct معلَمة موضعية فردية للدالة depset. وبالتالي، تكون المكالمتان التاليتان متطابقتين ومقاومة للمستقبل:

depset(['a', 'b'], transitive = [...])
depset(direct = ['a', 'b'], transitive = [...])

المَعلمات

المعلمة الوصف
direct sequence; or None; default = None
قائمة بالعناصر المباشرة من مجموعة محدّدة.
order default = "default"
استراتيجية الاجتياز لمستوى العرض الجديد. ويمكنك الاطّلاع على القيم المحتملة هنا.
transitive sequence of depsets; or None; default = None
قائمة بمجموعات العمليات التي ستصبح عناصرها عناصر غير مباشرة في مجموعة العمق.

قاعدة

dict dict(pairs=[], **kwargs)

إنشاء قواميس من وسيطة اختيارية لمواضع الإعلان ومجموعة اختيارية من وسيطات الكلمات الرئيسية. وفي حال منح المفتاح نفسه عدة مرات، سيتم استخدام القيمة الأخيرة. ويتم اعتبار الإدخالات المقدَّمة عبر وسيطات الكلمات الرئيسية بعد الإدخالات التي يتم تقديمها عبر وسيطة الموضع.

المَعلمات

المعلمة الوصف
pairs default = []
جملة، أو تكرار يمكن أن تكون عناصره كل منها بطول 2 (مفتاح، قيمة).
kwargs مطلوبة
قاموس الإدخالات الإضافية.

دير

list dir(x)

لعرض قائمة من السلاسل: أسماء السمات وطرق كائن المعلّمة.

المَعلمات

المعلمة الوصف
x مطلوب
الكائن المطلوب التحقق منه.

تعداد

list enumerate(list, start=0)

تعرض قائمة من الأزواج (البادئات الثنائية)، مع الفهرس (int) والسلعة من تسلسل الإدخال.
enumerate([24, 21, 84]) == [(0, 24), (1, 21), (2, 84)]

المَعلمات

المعلمة الوصف
list مطلوب
تسلسل الإدخال.
start الإعداد التلقائي = 0
بدء الفهرس.

execgroup

exec_group exec_group(toolchains=[], exec_compatible_with=[], copy_from_rule=False)

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

المَعلمات

المعلمة الوصف
toolchains sequence؛ default = []
تتطلب مجموعة الأدوات سلسلة التنفيذ هذه. يمكن أن تتضمن القائمة كائنات "السلسلة" أو "التصنيف" أو StarlarkToolchainTypeApi، في أي مجموعة.
exec_compatible_with sequence of strings; default = []
قائمة بالقيود المفروضة على منصة التنفيذ
copy_from_rule default = False
إذا تم ضبط السياسة على "true"، ستكتسب مجموعة exec هذه سلاسل الأدوات والقيود المفروضة على القاعدة التي يتم إرفاق هذه المجموعة بها. وإذا تم ضبطها على أي سلسلة أخرى، سيؤدي ذلك إلى حدوث خطأ.

تعذّر الإجراء

None fail(msg=None, attr=None, *args)

يؤدي إلى فشل التنفيذ مع حدوث خطأ.

المَعلمات

المعلمة الوصف
msg default = None
تم الإيقاف: يمكنك استخدام الوسيطات الموضعية بدلاً من ذلك. تعمل هذه الوسيطة كوسيطة موضعية بادئة ضمنية.
attr string; or None، التلقائي = بلا
تم الإيقاف. يتسبب في إضافة بادئة اختيارية تحتوي على هذه السلسلة إلى رسالة الخطأ.
args مطلوبة
قائمة من القيم، منسقة باستخدام Str ومرتبطة بمسافات، تظهر في رسالة الخطأ.

عدد عائم

float float(x=unbound)

لعرض x كقيمة عائمة.
  • إذا كانت قيمة x عائمة، ستعرضها float بدون تغيير.
  • إذا كانت x منطقية، تعرض float القيمة 1.0 في"صحيح"و0.0 في"خطأ".
  • إذا كانت x زاوية، تعرض float أقرب قيمة عائمة النقطة الفاصلة إلى x، أو خطأ إذا كان الحجم كبيرًا جدًا.
  • إذا كانت السمة x عبارة عن سلسلة، يجب أن تكون حرفيًا حرفيًا صالحًا نقطة عائمة أو تكون مساوية (لتجاهل حالة الأحرف) NaN أو Inf أو Infinity، مسبوقة اختياريًا بعلامة + أو -.
تؤدي أي قيمة أخرى إلى حدوث خطأ. بدون أي وسيطة، تعرض float() القيمة 0.0.

المَعلمات

المعلمة الوصف
x default = غير مرتبط
القيمة المطلوب تحويلها.

غيتار

unknown getattr(x, name, default=unbound)

عرض حقل struct's للاسم المحدّد في حال توفّره. إذا لم يكن الأمر كذلك، سيتم عرض default (إذا تم تحديده) أو يتم عرض رسالة خطأ. getattr(x, "foobar") تساوي x.foobar.
getattr(ctx.attr, "myattr")
getattr(ctx.attr, "myattr", "mydefault")

المَعلمات

المعلمة الوصف
x مطلوبة
البنية التي يتم الوصول إلى السمة الخاصة بها
name مطلوبة
اسم سمة البنية.
default default = غير مرتبط
القيمة التلقائية للعرض في حال لم تكن البنية تتضمّن سمة للاسم المحدَّد.

git_override

None git_override(module_name, remote, commit='', patches=[], patch_cmds=[], patch_strip=0)

يحدِّد هذا الإعداد تبعية اعتماد من مستودع Git معيّن. ولا يمكن استخدام هذا التوجيه إلا من خلال الوحدة الجذر، أي أنه في حال حدّدت الوحدة أي عمليات إلغاء، لن يتمكّن الآخرون من استخدامها كاعتمادية.

المَعلمات

المعلمة الوصف
module_name مطلوب
اسم اعتمادية وحدة Bazel لتطبيق هذا الإلغاء عليها.
remote مطلوب
عنوان URL لمستودع Git البعيد.
commit التلقائي = ''
الالتزام الذي يجب التحقق منه.
patches Iterable of strings; default = []
قائمة بالتصنيفات التي تشير إلى ملفات رموز التصحيح لتطبيقها على هذه الوحدة. يجب أن تكون ملفات التصحيح متوفّرة في العرض التدرّجي المصدر لمشروع المستوى الأعلى. ويتم تطبيقها بترتيب القائمة.
patch_cmds Iterable of strings؛ الإعداد التلقائي = []
سيتم تطبيق تسلسل أوامر Bash على نظامَي التشغيل Linux/MacOS بعد تطبيق التصحيحات.
patch_strip default = 0
مماثل للوسيطة --strip من تصحيح Unix.

هاشتات

bool hasattr(x, name)

عرض True إذا كان الكائن x يحتوي على سمة أو طريقة لـ name المحدد، أو بخلاف ذلك على False. مثال:
hasattr(ctx.attr, "myattr")

المَعلمات

المعلمة الوصف
x مطلوب
الكائن المطلوب التحقق منه.
name مطلوبة
اسم السمة.

تجزئة

int hash(value)

عرض قيمة تجزئة لسلسلة. يتم احتساب هذه العملية بشكل محدّد باستخدام الخوارزمية نفسها المتّبعة في String.hashCode() Java's، وهي:
s[0] * (31^(n-1)) + s[1] * (31^(n-2)) + ... + s[n-1]
لا تتوفّر حاليًا تجزئة القيم إلى جانب السلاسل.

المَعلمات

المعلمة الوصف
value مطلوبة
قيمة السلسلة للتجزئة.

int

int int(x, base=unbound)

تعرض x كقيمة int.
  • إذا كانت x عبارة عن قيمة صحيحة، سترجعها int بدون تغيير.
  • إذا كانت x منطقية، تعرض int القيمة 1 للتعبير عن"صحيح"والرقم 0 للتعبير عن"خطأ".
  • إذا كانت السمة x سلسلة، يجب أن تكون بالتنسيق <sign><prefix><digits>. <sign> إما "+" أو "-" أو فارغة (يتم تفسيرها على أنها موجبة). <digits> عبارة عن سلسلة من الأرقام من 0 إلى base - 1، حيث يتم استخدام الأحرف من a إلى z (أو ما يعادل A-Z) كأرقام من 10 إلى 35. في الحالة التي يكون فيها base هو 2/8/16، يكون <prefix> اختياريًا وقد يكون 0b/0o/0x (أو ما يعادله، 0B/0O/0X) على التوالي. وإذا كانت base أي قيمة أخرى غير هذه القواعد أو القيمة الخاصة هي 0، يجب أن تكون البادئة فارغة. في الحالة التي يكون فيها base هو 0، يتم تفسير السلسلة على أنها عدد صحيح حرفي، أي أنه يتم اختيار أحد القواعد الأساسية 2/8/10/16 بناءً على البادئة في حال استخدامها. إذا كان base هو 0، لا يتم استخدام أي بادئة، وإذا كان هناك أكثر من رقم واحد، لا يمكن أن يكون الرقم البادئة 0، وذلك لتجنب الالتباس بين القيمة الثمانية والأرقام العشرية. يجب أن يكون حجم الرقم الذي تمثله السلسلة ضمن النطاق المسموح به لنوع int.
  • إذا كان x عائمًا، تعرض int القيمة الصحيحة للعائم، مع التقريب إلى صفر. يظهر خطأ إذا كانت قيمة x غير محدودة (NaN أو Infinity).
تتعذّر استخدام هذه الدالة إذا كان x من أي نوع آخر، أو إذا كانت القيمة سلسلة لا تستوفي التنسيق أعلاه. وعلى عكس دالة int في Python&#39، لا تسمح هذه الدالة بوسيطات الصفر، ولا تسمح بمسافة بيضاء غير ضرورية لوسيطات السلسلة.

أمثلة:

int("123") == 123
int("-123") == -123
int("+123") == 123
int("FF", 16) == 255
int("0xFF", 16) == 255
int("10", 0) == 10
int("-0x10", 0) == -16
int("-0x10", 0) == -16
int("123.456") == 123

المَعلمات

المعلمة الوصف
x مطلوبة
السلسلة المطلوب تحويلها.
base default = unbound
القاعدة المستخدمة لتفسير قيمة سلسلة، ويتم ضبطها تلقائيًا على 10. يجب أن تتراوح القيمة بين 2 و36 (شاملة)، أو 0 لاكتشاف القاعدة كما لو كان x حرفًا صحيحًا. يجب عدم تقديم هذه المعلّمة إذا لم تكن القيمة سلسلة.

عدسة

int len(x)

لعرض طول سلسلة، أو تسلسل (مثل قائمة أو وصف)، أو إيماءة، أو تكرار آخر.

المَعلمات

المعلمة الوصف
x مطلوبة
القيمة التي يجب تحديد طولها

قائمة

list list(x=[])

لعرض قائمة جديدة تتضمن العناصر نفسها بالقيمة المكررة.
list([1, 2]) == [1, 2]
list((2, 3, 2)) == [2, 3, 2]
list({5: "a", 2: "b", 4: "c"}) == [5, 2, 4]

المَعلمات

المعلمة الوصف
x default = []
الكائن المطلوب تحويله.

local_path_override

None local_path_override(module_name, path)

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

المَعلمات

المعلمة الوصف
module_name مطلوب
اسم اعتمادية وحدة Bazel لتطبيق هذا الإلغاء عليها.
path مطلوبة
المسار إلى الدليل الذي تقع فيه هذه الوحدة.

الحد الأقصى

unknown max(*args)

لعرض أكبر وسيطة من جميع الوسيطات المحددة. إذا تم تقديم وسيطة واحدة فقط، يجب أن تكون قابلة للتكرار غير فارغة.ويُعد ذلك خطأ إذا لم تكن العناصر قابلة للمقارنة (على سبيل المثال، int مع سلسلة)، أو إذا لم يتم تقديم أي وسيطات.
max(2, 5, 4) == 5
max([5, 6, 3]) == 6

المَعلمات

المعلمة الوصف
args مطلوبة
العناصر التي سيتم التحقق منها.

دقيقة

unknown min(*args)

عرض أصغر أصغر من جميع الوسيطات المحددة. إذا تم تقديم وسيطة واحدة فقط، يجب أن تكون قابلة للتكرار غير فارغة. يحدث خطأ إذا لم تكن العناصر قابلة للمقارنة (على سبيل المثال، int مع سلسلة)، أو إذا لم يتم تقديم الوسيطات.
min(2, 5, 4) == 2
min([5, 6, 3]) == 3

المَعلمات

المعلمة الوصف
args مطلوبة
العناصر التي سيتم التحقق منها.

وحدة

None module(name='', version='', compatibility_level=0, repo_name='', bazel_compatibility=[])

يُعلن عن خصائص معيّنة لوحدة Bazel الممثّلة من Repoll الحالي. وهذه الخصائص إما بيانات وصفية أساسية للوحدة (مثل الاسم والإصدار) أو تؤثر في سلوك الوحدة الحالية والجهات التابعة لها.

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

المَعلمات

المعلمة الوصف
name التلقائي = ''
اسم الوحدة. لا يمكن حذف هذه الوحدة إلا إذا كانت هذه الوحدة هي الوحدة الجذر (مثل، إذا لم تكن تعتمد على وحدة أخرى). يجب أن يحتوي اسم الوحدة الصالح على: 1) يحتوي على الأحرف الصغيرة فقط (a-z) والأرقام (0-9) والنقاط (.) والواصلات (-) والشرطات السفلية (_)، و2) يبدأ بحرف صغير، و3) ينتهي بحرف صغير أو رقم.
version التلقائي = ''
إصدار الوحدة. لا يمكن حذف هذه الوحدة إلا إذا كانت هذه الوحدة هي الوحدة الجذر (مثل، إذا لم تكن تعتمد على وحدة أخرى).
compatibility_level الإعداد التلقائي = 0
مستوى توافق الوحدة، ويجب تغييره في كل مرة يتم فيها إجراء تغيير رئيسي غير متوافق. وهذا في الأساس هو الإصدار "الرحيق" للوحدة التنظيمية من حيث SemVer، باستثناء أنه غير مضمّن في سلسلة الإصدار نفسها، ولكنه متوفّر كحقل منفصل. تشارك الوحدات ذات مستويات التوافق المختلفة في درجة دقة الإصدار كما لو كانت وحدات لها أسماء مختلفة، ولكن لا يمكن أن يحتوي الرسم البياني للاعتمادية النهائية على وحدات متعددة تحمل الاسم نفسه ولكن بمستويات توافق مختلفة (إلا إذا كانت multiple_version_override سارية المفعول، يمكنك الاطّلاع على مزيد من التفاصيل).
repo_name التلقائي = ''
اسم المستودع الذي يمثل هذه الوحدة، كما تراه الوحدة نفسها. وبشكل تلقائي، يكون اسم الاستدعاء هو اسم الوحدة. ويمكن تحديد ذلك لتسهيل نقل بيانات المشاريع التي كانت تستخدم اسم قائمة مراتب لنفسها يختلف عن اسم وحدتها.
bazel_compatibility Iterable of strings; default = []
قائمة بإصدارات Bazel تسمح للمستخدمين بالإعلان عن إصدارات Bazel المتوافقة مع هذه الوحدة لا يؤثّر هذا الإجراء في درجة الاعتمادية، ولكن ستستخدم bzlmod هذه المعلومات للتحقّق مما إذا كان إصدار Bazel الحالي متوافقًا. يكون تنسيق هذه القيمة هو سلسلة من بعض قيم القيود المفصولة بفاصلة. هناك ثلاثة قيود متوافقة: <=X.X.X: يجب أن يكون إصدار Bazel مساويًا أو أقدم من X.X.X. ويُستخدَم عند حدوث تغيير غير متوافق معروف في إصدار أحدث. >=X.X.X: يجب أن يكون إصدار Bazel مساويًا أو أحدث من X.X.X.Use عند الاعتماد على بعض الميزات المتاحة فقط منذ X.X.X -X.X: إصدار Bazel X.X.X غير متوافق. يُستخدَم هذا الإعداد عندما يكون هناك خطأ في X.X.يعمل على تعطُّلك، ولكن يتم إصلاحه في الإصدارات الأحدث.

extension_extension

unknown module_extension(implementation, *, tag_classes={}, doc='')

إنشاء إضافة وحدة جديدة. تخزينه في قيمة عامة، بحيث يمكن تصديره واستخدامه في ملف MODULE.bazel.

المَعلمات

المعلمة الوصف
implementation مطلوب
الدالة التي تُنفِّذ إضافة الوحدة هذه. يجب استخدام معلَمة واحدة، module_ctx. يتم استدعاء الدالة مرة واحدة في بداية الإصدار لتحديد مجموعة عمليات إعادة البيع المتاحة.
tag_classes default = {}
القاموس لتعريف جميع فئات العلامات التي تستخدمها الإضافة. ويتم ربط العنصر من اسم فئة العلامة إلى عنصر tag_class.
doc الإعداد التلقائي = ''
وصف لإضافة الوحدة التي يمكن استخراجها من خلال أدوات إنشاء المستندات.

Multi_version_override

None multiple_version_override(module_name, versions, registry='')

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

المَعلمات

المعلمة الوصف
module_name مطلوب
اسم اعتمادية وحدة Bazel لتطبيق هذا الإلغاء عليها.
versions Iterable of strings، مطلوبة
تحدِّد صراحةً الإصدارات المسموح بها للعمل معًا. يجب أن تكون هذه الإصدارات متوفرة من قبل في الرسم البياني للاعتمادية المُسبقة. ستكون العناصر التابعة على هذه الوحدة "&quot، والتي تمت ترقيتها، إلى أقرب إصدار مسموح به بمستوى التوافق نفسه، في حين أن التبعيات التي تتضمن إصدارًا أحدث من أي إصدارات مسموح بها في مستوى التوافق نفسه ستؤدي إلى حدوث خطأ.
registry default = ''
تلغي قاعدة بيانات المسجّلين لهذه الوحدة. بدلاً من العثور على هذه الوحدة من القائمة التلقائية للسجلات، يجب استخدام قاعدة بيانات المسجّلين المحددة.

طباعة

None print(sep=" ", *args)

عرض args كإخراج لتصحيح الأخطاء. ويجب أن تكون مسبوقة بالسلسلة "DEBUG" والموقع الجغرافي (ملف ورقم السطر) لهذه المكالمة. الطريقة المحدّدة التي يتم بها تحويل الوسيطات إلى سلاسل غير محدّدة وقد تتغير في أي وقت. على وجه الخصوص، قد يختلف هذا التنسيق عن التنسيق str() وrepr() (وأكثر تفصيلاً منه).

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

المَعلمات

المعلمة الوصف
sep default = " "
السلسلة الفاصلة بين العناصر، والمسافة التلقائية هي المسافة (" ").
args مطلوبة
العناصر المطلوب طباعتها.

provider

unknown provider(doc='', *, fields=None, init=None)

لتعريف رمز مقدّم الخدمة يمكن إنشاء مثيل للمقدّم من خلال طلبه، أو استخدامه مباشرةً كمفتاح لاسترداد مثيل من مقدّم الخدمة من أحد الاستهدافات. مثال:
MyInfo = provider()
...
def _my_library_impl(ctx):
    ...
    my_info = MyInfo(x = 2, y = 3)
    # my_info.x == 2
    # my_info.y == 3
    ...

اطّلِع على القواعد (مقدّمو الخدمات) للحصول على دليل شامل حول كيفية استخدام مقدّمي الخدمة.

عرض قيمة قابلة للاتصال بـ Provider في حال عدم تحديد init.

إذا تم تحديد init، يتم عرض عنصر من عنصرين: قيمة Provider قابلة للاستدعاء وقيمة مُصنِّف أولي. للتعرُّف على التفاصيل، يُرجى الاطّلاع على القواعد (الإعداد المخصّص لمقدّمي الخدمات المخصّصين) ومناقشة المعلّمة init أدناه.

المَعلمات

المعلمة الوصف
doc default = ''
وصف للموفر الذي يمكن استخراجه من خلال أدوات إنشاء المستندات.
fields sequence of strings; or dict; or None، القيمة التلقائية = بدون قيمة
في حال تحديدها، يتم تقييد مجموعة الحقول المسموح بها.
القيم المحتملة هي:
  • قائمة الحقول:
    provider(fields = ['a', 'b'])

  • اسم حقل القاموس -> المستندات:
    provider(
           fields = { 'a' : 'Documentation for a', 'b' : 'Documentation for b' })
وتكون كل الحقول اختيارية.
init callable; or None; default = None
استدعاء اختياري للمعالجة المُسبَقة والتحقّق من قيم حقول مقدّم الخدمة أثناء إنشاء مثيل. إذا تم تحديد init، يعرض provider() جزءًا من عنصرين: رمز موفّر الخدمة العادي وأداة إنشاء أولية.

في ما يلي وصف دقيق. راجِع القواعد (الإعداد المخصّص لمقدّمي الخدمات) للاطّلاع على حالات الاستخدام والمناقشة البسيطة.

يمكنك السماح لتطبيق P بأن يكون رمز مقدِّم الخدمة الذي يتم إنشاؤه من خلال الاتصال بالرقم provider(). من الناحية النظرية، يتم إنشاء مثيل P من خلال استدعاء دالة دالة تلقائية c(*args, **kwargs)، والتي تنفّذ ما يلي:

  • إذا لم يكن args فارغًا، سيحدث خطأ.
  • إذا تم تحديد المعلمة fields عند استدعاء provider()، وإذا كان kwargs يحتوي على أي مفتاح غير مدرج في fields، سيحدث خطأ.
  • وبخلاف ذلك، تعرض c مثيلًا جديدًا يحتوي على حقل باسم k بالقيمة v لكل إدخال في k: v في kwargs.
في حال لم يتم استدعاء استدعاء init، يكون رمز الاستدعاء للرمز P نفسه بمثابة استدعاء لدالة الإنشاء التلقائية c، أي أنّ P(*args, **kwargs) تعرض c(*args, **kwargs). على سبيل المثال،
MyInfo = provider()
m = MyInfo(foo = 1)
سيؤدي ذلك مباشرةً إلى أن تكون m مثيل MyInfo مع m.foo == 1.

ولكن في حال تحديد init، سيُجري الاستدعاء P(*args, **kwargs) الخطوات التالية بدلاً من ذلك:

  1. تم استدعاء معاودة الاتصال مثل init(*args, **kwargs)، أي وسيطات الموضع والكلمات الرئيسية نفسها التي تم تمريرها إلى P.
  2. من المتوقّع أن تكون قيمة العرض init قاموسًا، d، التي تكون مفاتيحها سلاسل أسماء حقول. إذا لم يكن الأمر كذلك، سيحدث خطأ.
  3. يتم إنشاء مثيل جديد من P كما لو كان استدعاء المعالج التلقائي مع إدخالات d's كوسيطات الكلمات الرئيسية، كما في c(**d).

ملاحظة: تشير الخطوات المذكورة أعلاه إلى حدوث خطأ إذا لم يكن *args أو **kwargs مطابقًا لتوقيع init'، أو تعذّر تقييم نص init' (قد يكون ذلك عن طريق قصد إلى fail())، أو إذا لم تكن قيمة العرض init معجمًا باستخدام المخطط المتوقّع.

بهذه الطريقة، تعمل استدعاء init على تعميم إنشاء موفّر الخدمة العادي من خلال السماح بالوسيطات الموضعية والمنطق العشوائي للمعالجة المسبقة والتحقّق. لا يؤدي إلى تفعيل التحايل على قائمة fields المسموح بها.

عند تحديد init، تصبح قيمة العرض provider() provider() (P, r)، حيث r هو المُنشئ الأوليّ. في الواقع، سلوك r هو بالضبط دالة الدالة التلقائية c التي تمت مناقشتها أعلاه. في العادة، يرتبط r بالمتغيّر الذي يكون اسمه مسبوقًا بشرطة سفلية، بحيث لا يمكن الوصول إليه مباشرةً إلا من خلال ملف .bzl الحالي:

MyInfo, _new_myinfo = provider(init = ...)

النطاق

sequence range(start_or_stop, stop_or_none=None, step=1)

لإنشاء قائمة تنتقل إليها العناصر من start إلى stop، باستخدام زيادة step. في حال تقديم وسيطة واحدة، تتراوح العناصر من 0 إلى ذلك العنصر.
range(4) == [0, 1, 2, 3]
range(3, 9, 2) == [3, 5, 7]
range(3, 0, -1) == [3, 2, 1]

المَعلمات

المعلمة الوصف
start_or_stop مطلوبة
قيمة عنصر البداية إذا تم توفير إيقاف، وبخلاف ذلك قيمة الإيقاف ونقطة البداية الفعلية 0
stop_or_none int; or None; القيمة التلقائية = لا شيء
فهرس اختياري للعنصر الأول لا يتم تضمينه في القائمة الناتجة، يتوقف إنشاء القائمة قبل الوصول إلى stop.
step default = 1
الزيادة (القيمة التلقائية هي 1). وقد يكون سلبيًا.

record_execution_platforms()

None register_execution_platforms(*platform_labels)

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

المَعلمات

المعلمة الوصف
platform_labels sequence of strings، مطلوبة
تصنيفات المنصّات التي سيتم تسجيلها

record_execution_platforms()

None register_execution_platforms(*platform_labels)

تحدّد منصات التنفيذ التي تم تحديدها مسبقًا ليتم تسجيلها عند اختيار هذه الوحدة. يجب أن تكون أنماط الأهداف المطلقة (أي تبدأ بـ @ أو //). راجع دقة سلسلة الأدوات للحصول على مزيد من المعلومات.

المَعلمات

المعلمة الوصف
platform_labels sequence of strings، مطلوبة
تصنيفات المنصّات التي سيتم تسجيلها

record_toolchains()

None register_toolchains(*toolchain_labels)

يمكنك تسجيل سلسلة أدوات محدّدة مسبقًا حتى يتمكّن Bazel من استخدامها أثناء استخدام دقة سلسلة الأدوات. اطّلِع على أمثلة عن تحديد وتسجيل سلاسل الأدوات.

المَعلمات

المعلمة الوصف
toolchain_labels sequence of strings، مطلوبة
تصنيفات سلاسل الأدوات التي يمكن تسجيلها.

record_toolchains()

None register_toolchains(*toolchain_labels)

تحدّد سلاسل الأدوات المحددة مسبقًا والتي سيتم تسجيلها عند اختيار هذه الوحدة. يجب أن تكون أنماط الأهداف المطلقة (أي تبدأ بـ @ أو //). راجع دقة سلسلة الأدوات للحصول على مزيد من المعلومات.

المَعلمات

المعلمة الوصف
toolchain_labels sequence of strings، مطلوبة
تصنيفات سلاسل الأدوات التي يمكن تسجيلها.

مستودع_قاعدة(تنفيذ، سمة، محلي، محيط، تهيئة، قابل للإغلاق، مستند)

callable repository_rule(implementation, *, attrs=None, local=False, environ=[], configure=False, remotable=False, doc='')

إنشاء قاعدة مستودع جديدة. تخزين في قيمة عامة، بحيث يمكن تحميلها واستدعاؤها من ملف WORKSPACE.

المَعلمات

المعلمة الوصف
implementation الدالة
هي الدالة التي تنفِّذ هذه القاعدة. يجب أن تحتوي على معلمة واحدة، repository_ctx. يتم استدعاء الدالة أثناء مرحلة التحميل لكل مثيل من القاعدة.
attrs dict; or None; default = None
قاموس للإعلان عن جميع سمات القاعدة. ويتم ربطها من اسم سمة إلى كائن سمة (راجِع وحدة attr). تكون السمات التي تبدأ بـ _ خاصة، ويمكن استخدامها لإضافة تبعية ضمنية إلى تصنيف في ملف (لا يمكن أن تعتمد قاعدة المستودع على عنصر تم إنشاؤه). تتم إضافة السمة name بشكل ضمني ويجب عدم تحديدها.
local default = False
وضِّح أن هذه القاعدة تسترجع كل شيء من النظام المحلي وأنّه يجب إعادة تقييمها في كل عملية استرجاع.
environ sequence of strings; default = []
توفّر قائمة بمتغيّر البيئة الذي تعتمد عليه قاعدة المستودع هذه. في حال تغيير متغيِّر البيئة في هذه القائمة، ستتم إعادة جلب المستودع.
configure default = False
الإشارة إلى أن المستودع يفحص النظام لغرض الضبط
remotable default = False
تجريبية. هذه المعلّمة تجريبية وقد تتغير في أي وقت. يُرجى عدم الاعتماد عليه. قد يتم تفعيل هذا الإعداد على أساس تجريبي من خلال ضبط ---experimental_repo_remote_exec
التوافق مع التنفيذ عن بُعد
doc default = ''
وصف لقاعدة المستودع التي يمكن استخراجها من خلال أدوات إنشاء المستندات

مستودع_قاعدة(تنفيذ، سمة، محلي، محيط، تهيئة، قابل للإغلاق، مستند)

callable repository_rule(implementation, *, attrs=None, local=False, environ=[], configure=False, remotable=False, doc='')

إنشاء قاعدة مستودع جديدة. تخزين في قيمة عامة، بحيث يمكن تحميلها واستدعاؤها من ملف WORKSPACE.

المَعلمات

المعلمة الوصف
implementation الدالة
هي الدالة التي تنفِّذ هذه القاعدة. يجب أن تحتوي على معلمة واحدة، repository_ctx. يتم استدعاء الدالة أثناء مرحلة التحميل لكل مثيل من القاعدة.
attrs dict; or None; default = None
قاموس للإعلان عن جميع سمات القاعدة. ويتم ربطها من اسم سمة إلى كائن سمة (راجِع وحدة attr). تكون السمات التي تبدأ بـ _ خاصة، ويمكن استخدامها لإضافة تبعية ضمنية إلى تصنيف في ملف (لا يمكن أن تعتمد قاعدة المستودع على عنصر تم إنشاؤه). تتم إضافة السمة name بشكل ضمني ويجب عدم تحديدها.
local default = False
وضِّح أن هذه القاعدة تسترجع كل شيء من النظام المحلي وأنّه يجب إعادة تقييمها في كل عملية استرجاع.
environ sequence of strings; default = []
توفّر قائمة بمتغيّر البيئة الذي تعتمد عليه قاعدة المستودع هذه. في حال تغيير متغيِّر البيئة في هذه القائمة، ستتم إعادة جلب المستودع.
configure default = False
الإشارة إلى أن المستودع يفحص النظام لغرض الضبط
remotable default = False
تجريبية. هذه المعلّمة تجريبية وقد تتغير في أي وقت. يُرجى عدم الاعتماد عليه. قد يتم تفعيل هذا الإعداد على أساس تجريبي من خلال ضبط ---experimental_repo_remote_exec
التوافق مع التنفيذ عن بُعد
doc default = ''
وصف لقاعدة المستودع التي يمكن استخراجها من خلال أدوات إنشاء المستندات

انتهاء

string repr(x)

لتحويل أي كائن إلى تمثيل سلسلة. ويُفيد ذلك في تصحيح الأخطاء.
repr("ab") == '"ab"'

المَعلمات

المعلمة الوصف
x مطلوب
الكائن المطلوب تحويله.

عكسَ

list reversed(sequence)

لعرض قائمة جديدة غير مجمّدة تحتوي على عناصر التسلسل المكرّر الأصلي بترتيب عكسي.
reversed([3, 5, 4]) == [4, 5, 3]

المَعلمات

المعلمة الوصف
sequence التسلسل المطلوب
التسلسل المكرّر (على سبيل المثال، قائمة) المراد عكسه.

قاعدة

callable rule(implementation, test=False, attrs=None, outputs=None, executable=False, output_to_genfiles=False, fragments=[], host_fragments=[], _skylark_testable=False, toolchains=[], incompatible_use_toolchain_transition=False, doc='', *, provides=[], exec_compatible_with=[], analysis_test=False, build_setting=None, cfg=None, exec_groups=None, compile_one_filetype=None, name=None)

تنشئ قاعدة جديدة، ويمكن طلبها من ملف BUILD أو وحدة ماكرو لإنشاء أهداف.

يجب إسناد القواعد إلى المتغيّرات العامة في ملف .bzl، واسم المتغيّر العام هو اسم القاعدة'.

يجب أن يكون لقواعد الاختبار التي تنتهي بـ _test، بينما يجب ألا تتضمّن كل القواعد الأخرى هذه اللاحقة. (تنطبق هذه القيود على القواعد فقط، وليس على أهدافها.)

المَعلمات

المعلمة الوصف
implementation مطلوبة
يجب أن تحتوي دالة Starlark على تنفيذ لهذه القاعدة، وأن تحتوي على معلَمة واحدة بالضبط: ctx. يتم استدعاء الدالة أثناء مرحلة التحليل لكل مثيل من القاعدة. يمكنه الوصول إلى السمات التي يقدمها المستخدم. عليه إنشاء إجراءات لإنشاء جميع النتائج المُعلَنة.
test default = False
ما إذا كانت هذه القاعدة قاعدة اختبارية، أي إذا كانت موضوع أمر blaze test تُعتبر جميع قواعد الاختبار قابلة للتنفيذ تلقائيًا، وليس من الضروري (وعدم الضبط) ضبط executable = True صراحةً لقاعدة اختبار. يمكنك الاطّلاع على صفحة القواعد للحصول على المزيد من المعلومات.
attrs dict; or None; default = None
قاموس للإعلان عن جميع سمات القاعدة. ويتم ربطها من اسم سمة إلى كائن سمة (راجِع وحدة attr). تكون السمات التي تبدأ بـ _ خاصة، ويمكن استخدامها لإضافة اعتمادية ضمنية على أحد التصنيفات. تتم إضافة السمة name بشكل ضمني ويجب عدم تحديدها. تتم إضافة السمات visibility وdeprecation وtags وtestonly وfeatures بشكل ضمني ولا يمكن إلغاؤها. تحتاج معظم القواعد إلى عدد قليل من السمات. لوضع قيود على استخدام الذاكرة، تفرض دالة القاعدة حدًا أقصى لحجم السمات.
outputs dict; or None; or function، القيمة التلقائية = بلا
متوقف. تم إيقاف هذه المعلّمة وستتم إزالتها قريبًا. يُرجى عدم الاعتماد عليه. وهي غير مفعَّلة في ---incompatible_no_rule_outputs_param. يمكنك استخدام هذه العلامة للتأكد من توافق الرمز مع الإزالة الوشيكة.
تم إيقاف هذه المعلّمة. يمكنك نقل القواعد لاستخدام OutputGroupInfo أو attr.output بدلاً من ذلك.

مخطّط لتحديد النتائج المُعلَنة مسبقًا على عكس سمتَي output وoutput_list، لا يحدِّد المستخدم التصنيفات لهذه الملفات. راجِع صفحة القواعد للاطّلاع على مزيد من المعلومات عن النتائج المُحدَّدة مسبقًا.

قيمة هذه الوسيطة هي قاموس أو دالة رد اتصال تنتج قاموسًا. تعمل معاودة الاتصال بطريقة مشابهة لسمات الاعتمادية المحسوبة: تتم مطابقة أسماء معلّمات الدالة &'s مع سمات قاعدة البيانات، لذا على سبيل المثال، إذا أرسلت outputs = _my_func مع التعريف def _my_func(srcs, deps): ...، يمكن للدالة الوصول إلى السمتَين srcs وdeps. ويتم تحديد القاموس مباشرةً أو من خلال دالة، ويتم تفسيره على النحو التالي.

ينشئ كل إدخال في القاموس نتيجة مُحدَّدة مسبقًا يكون فيها المفتاح مُعرّفًا والقيمة هي نموذج سلسلة يحدد العلامة "إخراج". في دالة تنفيذ القاعدة، يصبح المعرّف اسم الحقل المستخدَم للوصول إلى نتائج File في ctx.outputs. يتضمّن تصنيف المخرجات والحزمة الحزمة نفسها التي تستند إليها القاعدة، ويتم إصدار الجزء بعد الحزمة من خلال استبدال كل عنصر نائب من النموذج "%{ATTR}" بسلسلة مكوّنة من قيمة السمة ATTR:

  • يتم استبدال السمات التي تحمل نوع السلسلة بنص حرفي.
  • وتتحوّل السمات التي تمّ إنشاؤها باستخدام التصنيفات إلى جزء من التصنيف بعد الحزمة، باستثناء امتداد الملف. مثلاً، يصبح التصنيف "//pkg:a/b.c" "a/b".
  • تصبح السمات الناتجة عن النتائج جزءًا من التصنيف بعد الحزمة، بما في ذلك امتداد الملف (للمثال أعلاه، "a/b.c").
  • يجب تضمين عنصر واحد بالضبط في جميع سمات نوع القائمة (على سبيل المثال، attr.label_list) المستخدمة في العناصر النائبة. الإحالة الناجحة مماثلة للنسخة غير المدرجة (attr.label).
  • قد لا تظهر أنواع السمات الأخرى في العناصر النائبة.
  • يتم توسيع العناصر النائبة الخاصة بدون سمات %{dirname} و%{basename} إلى تلك الأجزاء من تصنيف القاعدة، باستثناء الحزمة الخاصة بها. على سبيل المثال، في "//pkg:a/b.c"، يكون dirname هو a والاسم الأساسي هو b.c.

من الناحية العملية، العنصر النائب البديل الأكثر شيوعًا هو "%{name}". على سبيل المثال، بالنسبة إلى هدف باسم "quot;foo"، تطلب النتائج المُسبَقة {"bin": "%{name}.exe"} مسبقًا عرض نتيجة مُسماة foo.exe يمكن الوصول إليها في دالة التنفيذ باسم ctx.outputs.bin.

executable default = False
ما إذا كانت هذه القاعدة تُعتبر قابلة للتنفيذ، أي ما إذا كانت موضوع أمر blaze run. يمكنك الاطّلاع على صفحة القواعد للحصول على المزيد من المعلومات.
output_to_genfiles default = False
إذا كان الأمر صحيحًا، سيتم إنشاء الملفات في دليل genfiles بدلاً من دليل bin. ما لم تكن بحاجة إلى التوافق مع القواعد الحالية (مثلاً عند إنشاء ملفات عناوين C++ )، لا تضبط هذه العلامة.
fragments sequence of strings; default = []
قائمة بأسماء أجزاء الضبط التي تتطلبها القاعدة في الإعدادات المستهدَفة.
host_fragments sequence of strings; default = []
قائمة بأسماء أجزاء الضبط التي تتطلبها القاعدة في إعدادات المضيف.
_skylark_testable الإعداد التلقائي = خطأ
(ميزة تجريبية)

في حال ضبط السياسة على "صحيح"، ستعرض إجراءاتها قواعدها للفحص وفقًا للقواعد التي تعتمد عليها من خلال موفّر الإجراءات. ويتوفّر أيضًا موفّر الخدمة للقاعدة نفسها من خلال استدعاء ctx.created_actions().

ويجب استخدام هذا الإجراء فقط لاختبار سلوك وقت التحليل في قواعد Starlark. قد تتم إزالة هذه العلامة في المستقبل.
toolchains sequence؛ default = []
في حال ضبط هذه السياسة، تتطلب مجموعة سلاسل الأدوات هذه القاعدة. يمكن أن تتضمن القائمة كائنات "السلسلة" أو "التصنيف" أو StarlarkToolchainTypeApi، في أي مجموعة. يمكن العثور على سلاسل الأدوات من خلال التحقّق من النظام الأساسي الحالي، وتوفيرها لتنفيذ القاعدة من خلال ctx.toolchain.
incompatible_use_toolchain_transition default = False
تم إيقاف العمل به ولم يعد قيد الاستخدام ويجب إزالته.
doc default = ''
وصف للقاعدة يمكن استخراجها من خلال أدوات إنشاء المستندات.
provides default = []
قائمة بمقدّمي الخدمات التي يجب أن تعرضها دالة التنفيذ

يحدث خطأ إذا لم تدرِج دالة التنفيذ أيًا من أنواع مقدّمي الخدمة المدرَجين هنا من قيمة العرض. ومع ذلك، قد تعرض وظيفة التنفيذ موفّري خدمة إضافيين غير مدرجين هنا.

يمثّل كل عنصر من القائمة عنصر *Info يعرضه provider()، باستثناء أنّ الموفّر القديم يمثّل اسم السلسلة بدلاً من ذلك.

exec_compatible_with sequence of strings; default = []
قائمة بالقيود المفروضة على منصة التنفيذ التي تنطبق على جميع الأهداف من نوع القاعدة هذا
analysis_test default = False
إذا كان الأمر كذلك، سيتم التعامل مع هذه القاعدة كاختبار تحليل.

ملاحظة: يتم تحديد قواعد اختبار التحليل في المقام الأول باستخدام البنية الأساسية المتوفرة في مكتبات Starlark الأساسية. ويمكنك الاطّلاع على الاختبار للحصول على إرشادات.

إذا تم تعريف القاعدة على أنها قاعدة اختبار للتحليل، يُسمح لها باستخدام انتقالات الضبط التي تم تحديدها باستخدام analysis_test_transition على سماتها، ولكن يتم تفعيل بعض القيود فيها:

  • إنّ أهداف هذه القاعدة محدودة في عدد العناصر التابعة التي قد يكون لديها.
  • تُعتبر القاعدة قاعدة اختبارية (كما لو تم ضبط test=True). تحلّ هذه القيمة في القيمة test.
  • قد لا تسجِّل دالة تنفيذ القاعدة أي إجراءات. وبدلاً من ذلك، يجب تسجيل نتيجة النجاح/التعذُّر من خلال تقديم AnalysisTestResultInfo.
build_setting BuildSetting; or None؛ القيمة التلقائية = بلا
في حال ضبط الإعداد، يتم وصف نوع build setting هذه القاعدة. يُرجى مراجعة وحدة config. إذا تم ضبط هذا الإعداد، تتم تلقائيًا إضافة سمة إلزامية باسم "build_setting_default" إلى هذه القاعدة، ونوع يطابق القيمة التي تمّ تمريرها هنا.
cfg default = لا شيء
في حال ضبط السياسة، تشير إلى عملية نقل الإعدادات، وستنطبق القاعدة على عملية الإعداد الخاصة بها قبل التحليل.
exec_groups dict; or None; default = None
إملاء اسم مجموعة التنفيذ (سلسلة) إلى exec_groups. في حال ضبط هذه السياسة، يتم السماح للقواعد بتنفيذ إجراءات على منصات تنفيذ متعددة ضمن هدف واحد. اطّلِع على مستندات مجموعات التنفيذ لمزيد من المعلومات.
compile_one_filetype sequence of strings; or None; default = None
مستخدم من خلال --exclude_one_dependency: إذا كان هناك عدة قواعد تستهلك الملف المحدد، يجب اختيار هذه القاعدة على غيرها.
name string; or None، القيمة التلقائية = بلا
متوقف. تم إيقاف هذه المعلّمة وستتم إزالتها قريبًا. يُرجى عدم الاعتماد عليه. وهي غير مفعَّلة في --+incompatible_remove_rule_name_parameter. يمكنك استخدام هذه العلامة للتأكد من توافق الرمز مع الإزالة الوشيكة.
متوقف: لا تستخدمه.

اسم هذه القاعدة، كما فهمها تطبيق Bazel، وتم الإبلاغ عنها في سياقات مثل التسجيل وnative.existing_rule(...)[kind] وbazel query. ويكون ذلك عادةً مطابقًا لمعرّف Starlark الذي يتم ربطه بهذه القاعدة. على سبيل المثال، يتم عادةً إعلان القاعدة foo_library على أنها foo_library = rule(...) ويتم إنشاء مثيل لها في ملف BUILD باسم foo_library(...).

إذا تم حذف هذه المعلّمة، يتم ضبط اسم القاعدة&#39؛ على اسم أول متغيّر عمومي Starlark ليتم ربطه بهذه القاعدة ضمن وحدة bbl للإعلان. وبالتالي، لا يحتاج foo_library = rule(...) إلى تحديد هذه المعلّمة إذا كان الاسم foo_library.

لا يؤدي تحديد اسم صريح للقاعدة إلى تغيير المكان الذي يُسمح لك فيه بإنشاء مثيل للقاعدة.

اختيار

unknown select(x, no_match_error='')

select() هي الدالة المساعدة التي تجعل سمة القاعدة قابلة للضبط. للحصول على التفاصيل، يُرجى الاطّلاع على إنشاء موسوعة.

المَعلمات

المعلمة الوصف
x مطلوبة
قاعدة تربط شروط الضبط بالقيم. كل مفتاح هو تصنيف أو سلسلة تصنيف تحدِّد مثيل config_setting أو restricted_value. راجع مستندات وحدات الماكرو لمعرفة وقت استخدام تصنيف بدلاً من سلسلة.
no_match_error التلقائية = ''
خطأ مخصَّص اختياري للإبلاغ في حال عدم توفُّر شرط.

One_version_override

None single_version_override(module_name, version='', registry='', patches=[], patch_cmds=[], patch_strip=0)

يحدِّد هذا الإعداد أنّ الاعتمادية يجب أن تأتي من قاعدة بيانات المسجّلين، ولكن يجب تثبيت إصدارها أو إلغاء سجلّه أو تطبيق قائمة من التصحيحات. ولا يمكن استخدام هذا التوجيه إلا من خلال الوحدة الجذر، أي أنه في حال حدّدت الوحدة أي عمليات إلغاء، لن يتمكّن الآخرون من استخدامها كاعتمادية.

المَعلمات

المعلمة الوصف
module_name مطلوب
اسم اعتمادية وحدة Bazel لتطبيق هذا الإلغاء عليها.
version default = ''
تلغي النسخة المعلَنة من هذه الوحدة في الرسم البياني للاعتمادية. وبعبارة أخرى، سيتم تثبيت هذه الوحدة "pin;"; في إصدار الإلغاء هذا. ويمكن حذف هذه السمة إذا أرادت الجميع إلغاء سجلّ قاعدة بيانات المسجّلين أو رموز التصحيح.
registry default = ''
تلغي قاعدة بيانات المسجّلين لهذه الوحدة. بدلاً من العثور على هذه الوحدة من القائمة التلقائية للسجلات، يجب استخدام قاعدة بيانات المسجّلين المحددة.
patches Iterable of strings; default = []
قائمة بالتصنيفات التي تشير إلى ملفات رموز التصحيح لتطبيقها على هذه الوحدة. يجب أن تكون ملفات التصحيح متوفّرة في العرض التدرّجي المصدر لمشروع المستوى الأعلى. ويتم تطبيقها بترتيب القائمة.
patch_cmds Iterable of strings؛ الإعداد التلقائي = []
سيتم تطبيق تسلسل أوامر Bash على نظامَي التشغيل Linux/MacOS بعد تطبيق التصحيحات.
patch_strip default = 0
مماثل للوسيطة --strip من تصحيح Unix.

مرتَّب

list sorted(iterable, *, key=None, reverse=False)

لعرض قائمة مرتّبة جديدة تحتوي على جميع عناصر التسلسل المكرّر الذي تم توفيره. قد يحدث خطأ إذا كان لا يتم مقارنة أي أزواج من العناصر x، y باستخدام x < y. يتم ترتيب العناصر تصاعديًا، ما لم تكن الوسيطة العكسية صحيحة، وفي هذه الحالة يكون الترتيب تنازليًا. الفرز ثابت: العناصر التي تقارن متساوية تحتفظ بترتيبها النسبي الأصلي.
sorted([3, 5, 4]) == [3, 4, 5]

المَعلمات

المعلمة الوصف
iterable مطلوب
التسلسل المكرّر للترتيب.
key default = None
تم تطبيق دالة اختيارية على كل عنصر قبل المقارنة.
reverse default = False
يتم عرض النتائج تنازليًا.

شارع

string str(x)

لتحويل أي عنصر إلى سلسلة. ويُفيد ذلك في تصحيح الأخطاء.
str("ab") == "ab"
str(8) == "8"

المَعلمات

المعلمة الوصف
x مطلوب
الكائن المطلوب تحويله.

Tag_class

tag_class tag_class(attrs={}, *, doc='')

تنشئ كائن tag_class جديدًا، يحدّد مخطط سمات لفئة من العلامات، وهي عناصر بيانات يمكن استخدامها من خلال إضافة وحدة.

المَعلمات

المعلمة الوصف
attrs default = {}
معجم لتعريف جميع سمات فئة العلامة هذه. ويتم ربطها من اسم سمة إلى كائن سمة (راجِع وحدة attr).
doc default = ''
وصف لفئة العلامة التي يمكن استخراجها من خلال أدوات إنشاء المستندات.

تِلْبُومْ

tuple tuple(x=())

تعرِض تكرارًا يحتوي على العناصر نفسها التي ترتبط بالقيمة القابلة للتكرار.
tuple([1, 2]) == (1, 2)
tuple((2, 3, 2)) == (2, 3, 2)
tuple({5: "a", 2: "b", 4: "c"}) == (5, 2, 4)

المَعلمات

المعلمة الوصف
x default = ()
الكائن المطلوب تحويله.

كتابة

string type(x)

تعرض اسم النوع الوسيطة الخاصة بها. ويُفيد ذلك في تصحيح الأخطاء والتحقق من النوع. أمثلة:
type(2) == "int"
type([1]) == "list"
type(struct(a = 2)) == "struct"
قد تتغير هذه الدالة في المستقبل. لكتابة رمز متوافق مع لغة Python والحصول على خصائص مستقبلية، يمكنك استخدامها فقط لمقارنة قيم العرض:
if type(x) == type([]):  # if x is a list

المَعلمات

المعلمة الوصف
x مطلوب
الكائن المطلوب التحقّق منه.

استخدام_الإضافة

module_extension_proxy use_extension(extension_bzl_file, extension_name, *, dev_dependency=False)

تعرض عنصرًا وكيلاً يمثل إضافة وحدة، ويمكن استدعاء أساليبه لإنشاء علامات إضافات الوحدات.

المَعلمات

المعلمة الوصف
extension_bzl_file مطلوبة
تصنيف إلى ملف Starlark الذي يُحدِّد امتداد الوحدة
extension_name مطلوب
اسم إضافة الوحدة المطلوب استخدامها. يجب تصدير رمز بهذا الاسم بواسطة ملف Starlark.
dev_dependency default = False
إذا كان هذا صحيحًا، سيتم تجاهل استخدام إضافة الوحدة هذه إذا لم تكن الوحدة الحالية هي الوحدة الجذر أو تم تفعيل "--ignore_dev_dependency".

استخدام_repo

None use_repo(extension_proxy, *args, **kwargs)

لاستيراد واحدة أو أكثر من المواضع التي تم إنشاؤها بواسطة إضافة الوحدة المحددة في نطاق الوحدة الحالية.

المَعلمات

المعلمة الوصف
extension_proxy مطلوبة
يتم عرض كائن الخادم الوكيل لإضافة الوحدة من خلال طلب use_extension.
args المطلوبة
تمثّل هذه الأسماء أسماء عمليات الاستيراد التي يمكن استيرادها.
kwargs مطلوب
يُحدِّد عمليات إعادة بيع معينة للاستيراد إلى نطاق الوحدة الحالية بأسماء مختلفة. يجب أن تكون المفاتيح هي الاسم المطلوب استخدامه في النطاق الحالي، في حين يجب أن تكون القيم هي الأسماء الأصلية التي تم تصديرها بواسطة إضافة الوحدة.

الظهور

None visibility(value)

(ميزة تجريبية تم تفعيلها بواسطة --experimental_bzl_visibility.)

يضبط هذا الإعداد نطاق bzl-visible في وحدة .bzl التي يتم إعدادها حاليًا.

يحكم حق الوصول إلى bzl وحدة ما إذا كان يمكن تحميل ملفات BUILD و .bzl الأخرى أم لا. (يختلف هذا عن مستوى الرؤية المستهدف لملف المصدر .bzl الأساسي، الذي يحكم ما إذا كان الملف قد يظهر كاعتمادية على الأهداف الأخرى). يعمل حق الوصول إلى Bzl على مستوى الحِزم: لتحميل وحدة، يجب أن يكون الملف أثناء التحميل قيد التحميل في حزمة تم منحها حق الوصول إلى الوحدة. يمكن دائمًا تحميل الوحدة ضمن حِزمة خاصة بها، بغض النظر عن ظهورها.

يمكن استدعاء visibility() مرة واحدة فقط لكل ملف .bzl، وعلى المستوى الأعلى فقط، وليس داخل دالة. ننصح باستخدام هذه الاستدعاء أسفل عبارات load() مباشرةً وأي منطق مختصر مطلوب لتحديد الوسيطة.

إذا تم ضبط العلامة --check_bzl_visibility على"خطأ"، ستوجّه مخالفات bzl-visible التحذيرات، ولكنها لن تفشل في الإصدار.

المَعلمات

المعلمة الوصف
value مطلوبة
قائمة بسلاسل مواصفات الطرود أو سلسلة مواصفات حزمة واحدة.

تتّبع مواصفات الطرود التنسيق نفسه المتّبع في package_group، باستثناء أنه لا يُسمح بمواصفات الحزمة السلبية. وهذا يعني أن المواصفات قد تحتوي على النماذج:

  • "//foo": الحزمة //foo
  • "//foo/...": الحزمة //foo وجميع حِزمها الفرعية.
  • "public" أو "private": جميع الحِزم أو بدون حِزم، على التوالي

لا يُسمح باستخدام بنية "@";; حيث يتم تفسير كل المواصفات بالنسبة إلى مستودع الوحدة الحالية.

إذا كانت value هي قائمة من السلاسل، تكون مجموعة الحِزم التي تم منحها إذن دخول إلى هذه الوحدة هي اتحاد الحزم التي تمثلها كل مواصفات. (للقائمة الفارغة تأثير private نفسه.) إذا كانت value سلسلة واحدة، يتم التعامل معها كما لو كانت قائمة المفردة [value].

يُرجى العِلم أنّ المواصفات "//..." دائمًا ما يتم تفسيرها على أنّها &&جميع حزم البيانات في المستودع الحالي&quot، بغض النظر عن قيمة العلامة --incompatible_fix_package_group_reporoot_syntax.

مساحة العمل

None workspace(name)

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

يضبط اسم مساحة العمل هذه. يجب أن تكون أسماء مساحات العمل عبارة عن وصف نمط حزمة Java للمشروع، باستخدام شرطات سفلية كفواصل، على سبيل المثال، يجب أن تستخدم github.com/bazelbuild/bazel com_github_bazelbuild_bazel.

يُستخدَم هذا الاسم للدليل الذي يتم تخزين ملفات وتشغيل المستودع فيه. على سبيل المثال، إذا كان هناك ملف file foo/bar في المستودع المحلي وكان ملف WORKSPACE يحتوي على workspace(name = 'baz')، سيكون ملف file متاحًا ضمن mytarget.runfiles/baz/foo/bar. إذا لم يتم تحديد اسم لمساحة العمل، سيتم ربط الملف runtime بـ bar.runfiles/foo/bar.

يجب أن تكون أسماء القواعد المستودع عن بُعد أسماء مساحات عمل صالحة. على سبيل المثال، يمكن أن يكون لديك maven_jar(name = 'foo')، وليس maven_jar(name = 'foo%bar')، حيث يحاول Bazel كتابة ملف WORKSPACE على maven_jar الذي يحتوي على workspace(name = 'foo%bar').

المَعلمات

المعلمة الوصف
name مطلوبة
اسم مساحة العمل. يجب أن تبدأ الأسماء بحرف ويمكن أن تحتوي فقط على أحرف وأرقام وشرطات سفلية وشرطات ونقاط.

zip

list zip(*args)

تعرض list من tuple، حيث يحتوي الحرف i-th على العنصر i-th من كل تسلسل من وسيطات أو تكرارات. تحتوي القائمة على حجم أقصر إدخال. باستخدام وسيطة واحدة مكرّرة، يتم عرض قائمة من 1 تكرارات. بدون أي وسيطات، سيتم عرض قائمة فارغة. أمثلة:
zip()  # == []
zip([1, 2])  # == [(1,), (2,)]
zip([1, 2], [3, 4])  # == [(1, 3), (2, 4)]
zip([1, 2], [3, 4, 5])  # == [(1, 3), (2, 4)]

المَعلمات

المعلمة الوصف
args القوائم
المطلوبة للضغط: