الشرطة المائلة للخلف
| \ | |
|---|---|
الشرطة المائلة للخلف | |
| في يونيكود | U+005C \ REVERSE SOLIDUS ( \ ) |
| متعلق ب | |
| انظر أيضا |
|
الخط المائل العكسي \ هو علامة تستخدم بشكل أساسي في الحوسبة والرياضيات . وهو صورة طبق الأصل من الخط المائل الشائع / . وهو علامة حديثة نسبيًا، تم توثيقها لأول مرة في ثلاثينيات القرن العشرين. يُطلق عليه أحيانًا اسم hack و whack و escape ( من لغة C / UNIX ) و reverse slash و slosh و downwhack و backslant و backwhack و bash و reverse slant و reverse solidus و reverse virgule . [1] [2]
تاريخ


اعتبارًا من نوفمبر 2022 [تحديث]، لم تنجح الجهود المبذولة لتحديد أصل هذا الرمز أو غرضه قبل ستينيات القرن العشرين. أقدم مرجع معروف تم العثور عليه حتى الآن هو دليل صيانة عام 1937 من شركة Teletype Corporation مع صورة توضح لوحة مفاتيح جهاز ثقب لوحة المفاتيح Kleinschmidt WPE-3 باستخدام نظام Wheatstone . [3] [4] أطلق على الرمز اسم "المفتاح القطري"، [5] وأعطي رمز مورس (غير قياسي) ▄ ▄▄▄ ▄ ▄ ▄ ▄▄▄ . [6] [أ]
في يونيو 1960، نشرت شركة آي بي إم "معيار مجموعة الأحرف الموسعة" الذي يتضمن الرمز عند 0x19. [4] في سبتمبر 1961، اقترح بوب بيمر (من شركة آي بي إم) على لجنة معايير X3.2 أن يتم جعل و جزءًا من المعيار المقترح [، ووصف الشرطة المائلة العكسية بأنها "عامل قسمة عكسية" واستشهد باستخدامها السابق بواسطة Teletype في الاتصالات السلكية واللاسلكية. على وجه الخصوص، قال إن \ كانت ضرورية حتى يمكن تكوين مشغلات ALGOL Boolean ( الاقتران المنطقي ) و ( الفصل المنطقي ) باستخدام /\ و \/ على التوالي. تبنت اللجنة هذه التغييرات في مسودة المعيار الأمريكي (المسمى لاحقًا ASCII ) في اجتماعها في نوفمبر 1961. [4]]\ ∧∨
تم استخدام هذه المشغلات للحد الأدنى والحد الأقصى في الإصدارات المبكرة من لغة البرمجة C المرفقة مع Unix V6 [7] و V7. [8]
الاستخدام
لغات البرمجة
في العديد من لغات البرمجة مثل C و Perl و PHP و Python ولغات البرمجة النصية Unix ، وفي العديد من تنسيقات الملفات مثل JSON ، تُستخدم الشرطة المائلة العكسية كحرف إفلات ، للإشارة إلى أن الحرف الذي يليه يجب أن يُعامل بشكل خاص (إذا كان سيُعامل حرفيًا بخلاف ذلك)، أو حرفيًا (إذا كان سيُعامل بشكل خاص بخلاف ذلك). على سبيل المثال، داخل سلسلة C الحرفية،\n ينتج التسلسل بايت سطر جديد بدلاً من "n"، وينتج التسلسل \"علامة اقتباس مزدوجة فعلية بدلاً من المعنى الخاص لعلامة الاقتباس المزدوجة التي تنتهي بها السلسلة. يتم إنتاج الشرطة المائلة العكسية الفعلية بواسطة الشرطة المائلة العكسية المزدوجة \\.
تستخدم لغات التعبير العادية نفس الطريقة، حيث تغير الأحرف الحرفية اللاحقة إلى أحرف فوقية والعكس صحيح. على سبيل المثال ، يبحث \||b عن '|' أو 'b'، ويتم الإفلات من الشريط الأول والبحث عنه، ولا يتم الإفلات من الشريط الثاني ويعمل كـ "أو".
خارج السلاسل المقتبسة، الاستخدام الشائع الوحيد للعلامة المائلة العكسية هو تجاهل ("escape") السطر الجديد الذي يليه مباشرة. في هذا السياق، قد يُطلق عليه "سطر مستمر" [9] حيث يستمر السطر الحالي في السطر التالي. تستبدل بعض البرامج العلامة المائلة العكسية والسطر الجديد بمسافة. [10]
لدعم أجهزة الكمبيوتر التي تفتقر إلى حرف الشرطة العكسية، تمت إضافة ثلاثي الحروف في لغة C ??/ ، وهو ما يعادل الشرطة العكسية. ونظرًا لأنه يمكن لهذا أن يفلت من الحرف التالي، والذي قد يكون في حد ذاته a ?، فقد يكون الاستخدام الحديث الأساسي هو تشويش التعليمات البرمجية . تمت إزالة دعم ثلاثي الحروف في لغة C++ في لغة C++17 ، ومن المخطط إزالة دعمها في لغة C في لغة C23 .
في Visual Basic (وبعض لهجات BASIC الأخرى ) يتم استخدام الشرطة المائلة العكسية كرمز عامل للإشارة إلى قسمة الأعداد الصحيحة . [11] وهذا يقرب إلى الصفر.
تستخدم لغة البرمجة ALGOL 68 الرمز "\" كرمز للأس العشري . تحتوي لغة البرمجة ALGOL 68 على خيار من بين 4 رموز للأس العشري: e، E، \، أو 10. الأمثلة: 6.0221415e23 ، 6.0221415E23 ، 6.0221415\23 أو 6.0221415 10 23. [ 12 ]
في APL ، يُطلق عليه اسم Expand عند استخدامه لإدراج عناصر التعبئة في المصفوفات، ويُطلق عليه اسم Scan عند استخدامه لإنتاج تقليل البادئة (الطي التراكمي).
في إصدار PHP 5.3 والإصدارات الأحدث، يتم استخدام الشرطة المائلة العكسية للإشارة إلى مساحة الأسماء . [13]
في Haskell ، يتم استخدام الشرطة المائلة العكسية لتقديم الأحرف الخاصة ولتقديم وظائف lambda (نظرًا لأنها تقريب معقول في ASCII للحرف اليوناني lambda، λ) . [14]
أسماء الملفات
نسخ MS-DOS 2.0، الذي صدر عام 1983، فكرة نظام الملفات الهرمي من يونكس وبالتالي استخدم الشرطة المائلة (للأمام) كفاصل للدليل. [15] ربما بناءً على إصرار IBM، [16] [17] أضافت Microsoft الشرطة المائلة للخلف للسماح بكتابة المسارات عند موجه مفسر سطر الأوامر، مع الاحتفاظ بالتوافق مع MS-DOS 1.0 (حيث كان / هو مؤشر خيار سطر الأوامر. أعطى كتابة " DIR/W " خيار "wide" لأمر " DIR "، لذلك كانت هناك حاجة إلى طريقة أخرى إذا أراد المرء بالفعل تشغيل برنامج يسمى W داخل دليل يسمى DIR ). باستثناء COMMAND.COM ، تقبل جميع الأجزاء الأخرى من نظام التشغيل كلا الحرفين في المسار ، لكن اتفاقية Microsoft تظل استخدام الشرطة المائلة للخلف، وتستخدم واجهات برمجة التطبيقات التي تعيد المسارات الشرطة المائلة للخلف. [18] في بعض الإصدارات، يمكن تغيير حرف الخيار من / إلى - عبر SWITCHAR ، مما يسمح لـ COMMAND.COM بالحفاظ على / في اسم الأمر.
ورثت عائلة أنظمة تشغيل Microsoft Windows سلوك MS-DOS وبالتالي لا تزال تدعم أيًا من الحرفين - ولكن قد تقبل برامج Windows الفردية والأنظمة الفرعية، بشكل خاطئ، الشرطة المائلة للخلف فقط كفاصل للمسار، أو قد تفسر بشكل خاطئ الشرطة المائلة للأمام إذا تم استخدامها على هذا النحو. لن تقبل بعض البرامج الشرطة المائلة للأمام إلا إذا تم وضع المسار بين علامتي اقتباس مزدوجتين . [19] أدى فشل ميزات الأمان الخاصة بشركة Microsoft في التعرف على الشرطة المائلة في الاتجاه غير المتوقع في المسارات المحلية ومسارات الإنترنت، بينما لا تزال أجزاء أخرى من نظام التشغيل تعمل بناءً عليها، إلى بعض الثغرات الأمنية الخطيرة. تم الوصول إلى الموارد التي لا ينبغي أن تكون متاحة باستخدام مسارات تستخدم مزيجًا معينًا، مثل http://example.net/secure\private.aspx . [20] [21]
ترميز النص
يتم استخدام الشرطة المائلة العكسية في نظام تنضيد TeX وفي ملفات RTF لبدء علامات الترميز.
في USFM ، [22] يتم استخدام الشرطة العكسية لتمييز ميزات التنسيق لتحرير ترجمات الكتاب المقدس .
في تدوين الإدراج ، ^\يمثل حرف التحكم 0x1C، فاصل الملف . [23] هذا مجرد مصادفة ولا علاقة له باستخدامه في مسارات الملفات.
الرياضيات
يتم استخدام رمز يشبه الشرطة المائلة العكسية لفرق المجموعة . [24]
تُستخدم الشرطة المائلة العكسية أيضًا في بعض الأحيان للإشارة إلى مساحة المجموعة المشتركة اليمنى . [25]
وخاصة عند وصف خوارزميات الكمبيوتر، من الشائع تعريف الشرطة المائلة العكسية بحيث يكون a \ b مكافئًا لـ ⌊ a / b ⌋ . [26] وهذا قسمة عدد صحيح تقرب للأسفل، وليس نحو الصفر.
في MATLAB و GNU Octave، يتم استخدام الشرطة العكسية لتقسيم المصفوفة اليسرى ، بينما الشرطة (الأمامية) تستخدم لتقسيم المصفوفة اليمنى. [27]
الارتباك مع ¥ والحروف الأخرى
في الترميزات اليابانية ISO 646-JP (ترميز مكون من 7 بتات يعتمد على ASCII )، و JIS X 0201 (ترميز مكون من 8 بتات)، و Shift JIS (ترميز متعدد البايتات مكون من 8 بتات لـ ASCII)، يتم عرض نقطة الترميز 0x5C التي تُستخدم للخط المائل العكسي في ASCII بدلاً من ذلك كعلامة ين ¥ . ونظرًا للاستخدام المكثف لنقطة الترميز 005C لتمثيل علامة الين، فإن بعض الخطوط حتى اليوم مثل MS Mincho تعرض حرف الخط المائل العكسي كعلامة ¥، وبالتالي فإن الأحرف الموجودة في نقاط ترميز Unicode 00A5 (¥) و005C (\) تعرض كلاهما كعلامة ¥ عند تحديد هذه الخطوط. لا تزال برامج الكمبيوتر تعامل 005C كعلامة ين في هذه البيئات ولكنها تعرضها كعلامة ين، مما يسبب ارتباكًا، وخاصة في أسماء ملفات MS-DOS. [28]
كما استبدلت العديد من إصدارات ISO 646 الأخرى الشرطة العكسية بأحرف أخرى، بما في ذلك ₩ (الكورية)، وÖ (الألمانية والسويدية)، و Ø (الدنماركية والنرويجية)، و ç (الفرنسية)، و Ñ (الإسبانية)، مما أدى إلى مشاكل مماثلة، على الرغم من أن التأثير أقل ديمومة مقارنة بعلامة الين.
في عام 1991، اقترح RFC 1345 أن يكون هذا الأسلوب عبارة عن وسيلة فريدة من نوعها مكونة// من حرفين يمكن استخدامها في معايير الإنترنت باعتبارها "طريقة عملية لتحديد [هذا] الحرف، دون الرجوع إلى مجموعة أحرف مشفرة ورمزها في [تلك] مجموعة الأحرف المشفرة". [29] وبالتالي، يمكن رؤية هذا الأسلوب في وثائق
فريق عمل هندسة الإنترنت المبكرة.
ملحوظات
- ^ هذا هو عكس الكود الخاص برمز الشرطة المائلة ( ▄▄▄ ▄ ▄ ▄▄▄ ▄ ).
مراجع
- ^ قاموس ماكواري (الطبعة الثالثة)
- ^ رايموند، إريك س. "ASCII". ملف المصطلحات . مؤرشف من الأصل في 2019-01-18 . تم الاسترجاع في 2007-07-28 .
- ^ النشرة 125، العدد 2: وصف وتعديلات آلة التثقيب ويتستون (PDF) . شركة تيلي تايب. مايو 1938 [أغسطس 1937]. ص. 2. مؤرشف من الأصل (PDF) في 2021-02-12 . تم الاسترجاع في 2021-03-15 – عبر navy-radio.com.
- ^ abc Fischer, Eric (20 June 2000). "The Evolution of Character Codes, 1874–1968" (PDF) . ص. 14–15 (الجدول 35). مؤرشف من الأصل (PDF) في 30 نوفمبر 2022. تم الاسترجاع في 30 نوفمبر 2022 .يشير إلى Bemer, RW؛ Buchholz, W. (1 يونيو 1960). An Extended Character Set Standard (تقرير فني). مختبر تطوير المنتجات، قسم أنظمة البيانات، شركة International Business Machines Corporation. TR 00.721.مجموعة معايير الكمبيوتر، مركز الأرشيف، المتحف الوطني للتاريخ الأمريكي، مؤسسة سميثسونيان، الصندوق 1.
- ^ "نشرة 188: مجموعة مثقب آلي للتليتايب" (PDF) . شركة التليتايب. أغسطس 1945. ص. 6. مؤرشف (PDF) من الأصل في 2021-12-19 . تم الاسترجاع في 2021-12-19 – عبر navy-radio.com.
- ^ "النشرة 1025، العدد 3: أجزاء لآلة التثقيب ويتستون" (PDF) . شركة تيلي تايب. يوليو 1945. ص. 9. مؤرشف (PDF) من الأصل في 2021-12-19 . تم الاسترجاع في 2021-12-19 – عبر navy-radio.com.
- ^ "مصدر مُجمِّع C". bitsavers.org . 1975. مؤرشف من الأصل في 2011-08-15 . تم الاسترجاع في 2009-10-11 .
- ^ "مصدر مُجمِّع C". mit.edu . 1979. مؤرشف من الأصل في 2013-12-03 . تم الاسترجاع في 2009-10-11 .
- ^ "معالج C المسبق". GNU .org . مؤرشف من الأصل في 2021-08-03 . تم الاسترجاع 2021-01-04 .
- ^ "3.1.1 تقسيم الخطوط الطويلة". دليل GNU make . مؤرشف من الأصل في 5 يونيو 2018 . تم الاسترجاع في 28 يوليو 2019 .
- ^ "المشغلات الحسابية في Visual Basic". ميزات لغة Visual Basic: المشغلات والتعبيرات . MSDN. 10 يوليو 2012. مؤرشف من الأصل في 17 سبتمبر 2012. تم الاسترجاع في 7 أكتوبر 2012 .
- ^ "تقرير منقح عن لغة الخوارزمية Algol 68". Acta Informatica . 5 ( 1– 3): 1– 236. سبتمبر 1973. doi :10.1007/BF00265077. S2CID 2490556. مؤرشف من الأصل في 2020-07-26 . تم الاسترجاع في 2020-02-10 .
- ^ "نظرة عامة على المساحات". php.net . مؤرشف من الأصل في 2012-10-16 . تم الاسترجاع 2012-10-10 .
- ^ أوسوليفان، ستيوارت، وجورزين، هاسكل في العالم الحقيقي ، الفصل 4: الدوال المجهولة (لامدا)، ص 99
- ^ "لماذا يكون مسار DOS هو "\"؟". Blogs.msdn.com. 2005-06-24. مؤرشف من الأصل في 2022-11-19 . تم الاسترجاع 2013-06-16 .
- ^ Necasek, Michal (24 مايو 2019). "لماذا يستخدم Windows حقًا الشرطة المائلة العكسية كفاصل للمسارات؟". متحف OS/2 . مؤرشف من الأصل في 24 مايو 2019. تم الاسترجاع في 28 مايو 2019 .
- ^ Larson, Chris; Immerwahr, Don (1983), MS-DOS v1.25 and v2.0 Source Code, README.txt, Microsoft, archived from the original on 21 November 2022 , recoveryd 21 November 2022 ,
يحتوي دليل المستخدم على بعض الأخطاء الهامة. يرجع معظمها إلى تغييرات في اللحظة الأخيرة لتحقيق درجة أكبر من التوافق مع تنفيذ IBM لنظام MS-DOS (PC DOS). يتضمن هذا استخدام "\" بدلاً من "/" كفاصل للمسار، و"/" بدلاً من "-" كحرف تبديل. لنقل ملفات الدفعات عبر الأجهزة، تشجع Microsoft استخدام "\" و"/" على التوالي في السوق الأمريكية. [...] نعتذر عن أي إزعاج قد تسببه هذه التغييرات لموظفي المنشورات الفنية لديكم.
- ^ "طريقة Path.GetFullPath". مكتبة .NET Framework Class Library . Microsoft. مؤرشف من الأصل في 21 ديسمبر 2008 . تم الاسترجاع في 2009-01-02 .
- ^ "متى بدأ نظام التشغيل Windows في قبول الشرطة المائلة كفاصل للمسار؟". Bytes.com. مؤرشف من الأصل في 6 فبراير 2009. تم الاسترجاع في 2009-01-02 .
- ^ كابلان، سيمون (2004). "Microsoft Probes Flaw in ASP.NET". DevSource، برعاية Microsoft . Ziff Davis Enterprise Holdings Inc. مؤرشف من الأصل في 2013-01-21 . تم الاسترجاع في 2009-06-14 .
- ^ بورنيت، مارك (2004). "الثغرات الأمنية العميقة". SecurityFocus. مؤرشف من الأصل في 2021-02-02 . تم الاسترجاع في 2009-06-14 .
- ^ "USFM – Unified Standard Format Markers". paratext.org . 18 أبريل 2017. مؤرشف من الأصل في 13 أغسطس 2020 . تم الاسترجاع 30 يونيو 2013 .
- ^ "مجموعة أحرف التحكم C0، 1987". pd.infn.it . مؤرشف من الأصل في 2019-09-06 . تم الاسترجاع 2021-03-14 .
- ^ "الكميات والوحدات – الجزء الثاني: العلامات والرموز الرياضية المستخدمة في العلوم الطبيعية والتكنولوجيا". ISO 80000-2:2009 . المنظمة الدولية للمعايير. 15 أبريل 2008. مؤرشف من الأصل في 2014-03-26 . تم الاسترجاع 2012-10-07 .
- ^ "تعريف:مساحة المجموعة الفرعية". ProofWiki. مؤرشف من الأصل في 26 فبراير 2021. استرجاع 1 فبراير 2017 .
- ^ "Integer Division". mathworld.wolfram.com . مؤرشف من الأصل في 2020-02-21 . تم الاسترجاع 2020-03-10 .
- ^ Eaton, John W.; David Bateman; Søren Hauberg (February 2011). "GNU Octave: A high-level interactive language for numerical computations" (PDF) . مؤسسة البرمجيات الحرة. ص. 145. مؤرشف من الأصل (PDF) في 24 أكتوبر 2012. تم الاسترجاع في 7 أكتوبر 2012 .
- ^ "متى لا تكون الشرطة المائلة العكسية شرطة مائلة عكسية؟". Blogs.msdn.com. مؤرشف من الأصل في 2016-03-23 . تم الاسترجاع في 2013-06-16 .
- ^ Simonsen, Keld (1991-12-26). "RFC 1345". Tools.ietf.org. مؤرشف من الأصل في 2016-06-13 . تم الاسترجاع في 2013-06-16 .
روابط خارجية
- بوب بيمر. "كيف حصل ASCII على الشرطة المائلة العكسية". مؤرشف من الأصل في 2013-07-19.
