تقنية

break_long_words=False في textwrap: هل يمنع الفصل عند الشرطة؟

break_long_words=False; break_on_hyphens=True; width=4: bud- | leaf.
الفصل بعد الشرطة.

break_long_words=False لا يلغي الفصل عند الشرطة؛ break_on_hyphens خيار آخر، وافتراضيه True. [1]

الخلاصة السريعة

لا؛ النص ينقسم عند الشرطة في مثالنا. [1]

  • break_long_words=False لا يلغي الفصل عند الشرطة؛ break_on_hyphens خيار آخر، وافتراضيه True. [1]
  • على CPython 3.12.14، النص bud-leaf من محارف ASCII وشرطة عادية؛ نطلب width=4 مع break_long_words=False. [1]
  • مع break_on_hyphens الافتراضي، wrap تعيد bud- ثم leaf؛ الفصل بعد الشرطة، وهي باقية في السطر الأول. [1]
  • تحكم بالنص والحد نفسيهما: نضيف break_on_hyphens=False ونبقي break_long_words=False؛ الناتج سطر واحد bud-leaf. [1]
  • طول سطر التحكم 8، أكبر من 4؛ تعطيل الخيارين يحفظ هذا النص متصلًا. نختبر شرطة ASCII واحدة دون فراغات أو شرطات لينة أو قياس خط بالبكسل. [1]

خياران مختلفان

break_long_words=False لا يلغي الفصل عند الشرطة؛ break_on_hyphens خيار آخر، وافتراضيه True. [1]

النص ذو الشرطة

على CPython 3.12.14، النص bud-leaf من محارف ASCII وشرطة عادية؛ نطلب width=4 مع break_long_words=False. [1]

موضع الفصل

مع break_on_hyphens الافتراضي، wrap تعيد bud- ثم leaf؛ الفصل بعد الشرطة، وهي باقية في السطر الأول. [1]

from textwrap import wrap own=wrap("bud-leaf",width=4,break_long_words=False) print(own) [1]

break_long_words=False; break_on_hyphens=False; width=4: bud-leaf.
النص يبقى متصلًا.

تعطيل الخيارين والتحكم

تحكم بالنص والحد نفسيهما: نضيف break_on_hyphens=False ونبقي break_long_words=False؛ الناتج سطر واحد bud-leaf. [1]

control=wrap("bud-leaf",width=4, break_long_words=False,break_on_hyphens=False) print(control) print(list(map(len,control))) [1]

طول سطر التحكم 8، أكبر من 4؛ تعطيل الخيارين يحفظ هذا النص متصلًا. نختبر شرطة ASCII واحدة دون فراغات أو شرطات لينة أو قياس خط بالبكسل. [1]

المراجع

  1. Python wrapping at hyphens

للتوسع: لغات البرمجة.

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