سؤال

لقد استخدمت خطا احتياطيا لمواصلة بيان روبي في السطر التالي.

print abc \
+ def

أضفت مساحة بعد الخلفية، لأنني أحب أن تفجر الأشياء، وبالتأكيد، حصلت على خطأ:

غير متوقع $ غير محدد، وتوقع نهاية $

أفترض أن $ undefined هو متغير عالمي يعني أن أي شيء يرى التحويل البرمجي أنه لا يتعرف - في هذه الحالة الفضاء بعد الخلفية.

هل $ كونه متغير عالمي يشير إلى حرف "نهاية السطر"؟

هل هذه Globals عالمية فقط في برنامجي أم أنها عالمية أكثر من ذلك؟ فقط كم هي العالمية هم؟

هل كانت مفيدة؟

المحلول

تلك ليست متغيرات عالمية. هذا مجرد تدوين يستخدم من قبل المحلل المحلل. $undefined يبدو أنه يعني مساحة فارغة أو رمز بلا معنى. $end هي نهاية سطر أو بيان.

نصائح أخرى

أراهن أن $ هو مجرد اختصار يستخدمه المحفوظات / Lexer لترمز الرمز المميز، وليس متغيرا حقيقيا قابل للاستخدام.

تشير $ undefining إلى رمز Lexer الذي تم إنشاؤه بواسطة "" - إنه ليس ساري المفعول بشكل صحيح.

$ نهاية Lexer الرمز المميز لنهاية الملف.

- Markusq.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top