أحتاج إلى مساعدة في فهم ما يطلبه التمرين 5-12 في كتاب لغة البرمجة C.

StackOverflow https://stackoverflow.com/questions/2649701

سؤال

K&R C Programming Language: pg. 105

تمديد entab و detab لقبول الاختزال

entab -m +n

يعني أن علامة التبويب تتوقف عن كل n الأعمدة ، بدءا من العمود m.

entab يحل محل عدد من المساحات مع حرف علامة التبويب و detab هل العكس. السؤال الذي لدي يتعلق بتوقف علامة التبويب و entab. أعتقد ذلك ل detab من السهل جدًا تحديد عدد المساحات اللازمة للوصول إلى توقف علامة التبويب التالية ، لذلك لا تقلق هناك. مع entab, ، يعد استبدال المساحات بعلامات تبويب أكثر صعوبة قليلاً لأنني لا أستطيع أن أعرف بالتأكيد حجم علامة TAB إلى توقف علامة التبويب الخاصة بها (ما لم تكن هناك طريقة لمعرفة بالتأكيد).

هل أنا حتى أفكر في هذا الشيء بشكل صحيح؟

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

المحلول

"Tab stop كل أعمدة n ، بدءًا من العمود M" يخبرك بمدى توقف كل علامة تبويب ، على الأقل عن طريق قراءتي: إنها فقط ن. فقط توقف علامة التبويب الأولى مختلفة ؛ هذا واحد م.

نصائح أخرى

يحتاج Entab إلى العمل عند الوصول إلى مسافات تصل إلى علامة تبويب - ثم يمكن استبدال تشغيل المساحات بحرف علامة تبويب.

على سبيل المثال ، السطر التالي من النص (Ruller موجود للرجوع إليه):

           1   1   2   2   2
1      8   2   6   0   4   8
-------+---+---+---+---+---+
          this     is a line

يجب أن تبدو ما يلي بعد entab -8 +4:

\t  this \tis a line

(لاحظ أنه قد يكون من المعقول أن يكون هناك حرفين لعلامتي تبويب يتبعان "هذا" في السطر ، نظرًا لأن مساحة أو علامة تبويب ستصل إلى توقف علامة التبويب هذه).

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