سلسلة فارغة

سلسلة رموز طولها صفر

السلسلة الفارغة أو الكلمة الفارغة في علم الحاسوب و‌اللغة الشكلية هي سلسلة لا تحتوي على أي مِحرف وطولها صفر.[1] عادةً يُشار إليها بالحرف الإغريقي ε (إبسيلون).[1]

الخصائص

عدل

لتكن Σ ألفبائية فيما بعد.

  • طول الكلمة الفارغة صفر:[1]
 
 
 

الاستخدم في لغات البرمجة

عدل

في معظم لغات البرمجة، تعتبر السلاسل من انوع البيانات . يتم تخزين السلاسل عادةً في مواقع ذاكرة مميزة. هذا يعني أنه يمكن تخزين نفس السلسلة (على سبيل المثال، السلسلة الفارغة) في مكانين أو أكثر في الذاكرة.

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

حتى السلسلة التي يبلغ طولها صفرًا يمكن أن تتطلب ذاكرة لتخزينها، اعتمادًا على التنسيق المستخدم. في معظم لغات البرمجة، تختلف السلسلة الفارغة عن مرجع فارغ (null) لأن المرجع الفارغ لا يشير إلى أي سلسلة على الإطلاق، ولا حتى السلسلة الفارغة. السلسلة الفارغة هي سلسلة صحيحة، يجب أن تعمل عليها معظم عمليات السلسلة. تتعامل بعض اللغات مع بعض أو كل ما يلي بطرق مماثلة: السلاسل الفارغة أو المراجع الخالية أو العدد الصحيح 0 أو رقم الفاصلة العائمة 0 أو القيمة المنطقية false أو حرف ASCII NUL أو القيم الأخرى المماثلة.

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

التمثيل لغات البرمجة
"" C ، C # ، C ++ ، Go ، Haskell ، Java ، JavaScript ، Lua ، M ، Objective-C (كسلسلة C) ، OCaml ، Perl ، PHP ، Python ، Ruby ، Scala ، Standard ML ، Swift ، Tcl ، Visual Basic. شبكة
'' APL وDelphi وJavaScript وMatlab وPascal وPerl وPHP وPython وRuby وSmalltalk وSQL
{'\0'} C ، C ++ ، Objective-C (كسلسلة C)
std::string() C ++
""s C ++ (منذ معيار 2014 )
@"" الهدف- C (ككائن NSString ثابت)
[NSString string] الهدف- C (ككائن NSString جديد)
q(), qq() بيرل
str() بايثون
%{}%() روبي
string.Empty C # ، Visual Basic. شبكة
String.make 0 '-' OCaml
{} Tcl
[[]] لوا

انظر أيضًا

عدل

مراجع

عدل
  1. ^ ا ب ج Sawa, Z (2020). "Introduction to Theoretical Computer Science" (PDF) (بالإنجليزية). p. 8. Archived from the original (PDF) on 2016-07-17. Retrieved 2021-01-25.
  2. ^ Wiebke, Petersen (2006). "Introduction to the Theory of Formal Languages" (PDF) (بالإنجليزية). Riga. p. 5. Archived from the original (PDF) on 2021-01-25. Retrieved 2021-01-25.
  3. ^ Sawa, Z (2020). "Introduction to Theoretical Computer Science" (PDF) (بالإنجليزية). p. 17. Archived from the original (PDF) on 2016-07-17. Retrieved 2021-01-25.