فورتران:سطر إلى سطر طويل/إلحاق سطر - ولكن مع النص في النهاية؟

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

  •  22-08-2019
  •  | 
  •  

سؤال

لدي سطر من كود فورتران، والذي يتضمن بعض النصوص.أقوم بتغيير النص، مما يجعل سطر التعليمات البرمجية طويلًا جدًا بالنسبة لـ Fortran، لذا قمت بتقسيمه على سطرين باستخدام "a".

كان:

  IF (MYVAR .EQ. 1) THEN
    WRITE(iott,'(A) (A)') 'ABC=', SOMEVAR

تغير إلى:

  IF (MYVAR .EQ. 1) THEN
    WRITE(iott,'(A) (A)') 'ABC DEF GHI JK
a ' // 'L=', SOMEVAR

سؤالي هو، في السطر الجديد (الذي يبدأ بـ "a")، هل يتم إلحاق المسافة البيضاء بين "a" والأول "بالسلسلة؟"أو هل أحتاج إلى أن يكون "" هو الحرف المجاور لـ لمنع وجود مساحة بيضاء إضافية؟

كما يمكنك القول، أنا لست معتادًا على فورتران...

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

المحلول

إذا كنت قلقة بشأن تجاوز حد 72 عمود، ثم أفترض أنك تستخدم فورتران 77. بناء الجملة من أجل فورتران 77 يتطلب أن عليك أن تبدأ مع العمود 7، باستثناء خطوط استمرار، والتي تحتاج حرف متابعة في العمود 6. أنا استخدام الأسلوب التالي ليقول لي كم عدد خطوط واستمرت لعبارة واحدة (السطر الأول هو فقط لإظهار الأعمدة):

!234567890
      write(*,*)"Lorem Ipsum",
     1 " Foo",
     2 " Bar"

وهذا من شأنه طباعة:

Lorem Ipsum Foo Bar

وليس لديك ما يدعو للقلق حول المساحات التي ليست في الاقتباس. يحصل مضغوط كل المسافات في فورتران، على أي حال.

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

ولا تقلق أنك لا تعمل مع الساخنة، جديدة، لغة اليوم. يمكنك أن تتعلم الكثير من فورتران، حتى فورتران 77، وعندما تستخدم بشكل صحيح، فورتران يمكن حتى أن تكون أنيقة. رأيت فورتران 77 مكتوبة كما لو كانت لغة وجوه المنحى، كاملة مع الذاكرة الديناميكية. أود أن أقول، "old.ne.bad".

نصائح أخرى

ولقد كان وقتا طويلا بالنسبة لي أن نتذكر متطلبات العمود القديمة من FORTRAN (والتي قد لا تكون صارمة كما كانت في طريق العودة عندما).

ولكن - ليس هذا شيئا اختبار تشغيل سريع وسوف اقول لكم مباشرة قبالة؟

  1. نعم a هو حرف استمرار ويعني في الأساس إلحاق بقية هذا السطر بدءًا من حرف الاستمرار (العمود 6، أليس كذلك؟) إلى السطر السابق.
  2. من المحتمل أن يكون لدى مترجم Fortran الخاص بك خيار تشغيل إدخال "النموذج الحر" بدلاً من استخدام إدخال "النموذج الثابت".استخدم هذا ولن تضطر إلى القلق بشأن طول الخط.
  3. إذا كان برنامج التحويل البرمجي الخاص بـ Fortran أقدم من F90 - وهو الوقت الذي أعتقد أن إمكانية إدخال النموذج الحر قد بدأت فيه، فلديك تعازي.

وMike B:

في عالم مثالي نعم، ولكن في هذه الحالة يتم وضع رمز على آلة واحدة، وتقديمها إلى خادم بناء والتي لديها 3rd الطرف المناسب البرمجيات / SDK ل / التراخيص المتاحة لها للبناء. بناء ليست سريعة بالضبط سواء.

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