موجهات مترجم (F#)

يصف هذا الموضوع توجيهات المعالج و موجهات مترجم.

توجيهات معالج أولي

توجيه معالج أولي هو مسبوقة # الرمز وتظهر في سطر بمفرده. هو مقاطعتها من قبل معالج أولي، والتي يتم تنفيذها قبل المترجم نفسه.

يسرد الجدول التالي موجهات معالج أولي متوفر في ب #.

توجيه

الوصف

#if رمز

يدعم الترجمة الشرطية. تعليمات برمجية في مقطع بعد #ifهو لو مضمنة رمز هو المعرفة.

#else

يدعم الترجمة الشرطية. يضع علامة على مقطع تعليمات برمجية لتضمين إذا كانت مستخدمة الرمز السابق #ifهو غير معرفة.

#endif

يدعم الترجمة الشرطية. وضع علامة إنهاء مقطع الشرطي من تعليمات برمجية.

#[line] int, #[line] int string, #[line] int verbatim-string

تشير إلى سطر تعليمات برمجية المصدر الأصلي و ملف الاسم لتصحيح الأخطاء. Th هو ميزة هو المتوفرة للأدوات التي تنشئ F# مصدر التعليمات البرمجية.

توجيهات الترجمة الشرطية

تعليمات برمجية التي هو إلغاء تنشيط بواحد هذه توجيهات خافتاً في Visual Studioمحرر تعليمات برمجية.

ملاحظة

توجيهات الترجمة الشرطية سلوك ليس نفسه كما هو في لغات غير ذلك. على سبيل المثال، لا يمكنك تعبيرات منطقية استخدم التي تشتمل على رموز و true falseقد لا معنى خاص. الرموز التي يمكنك استخدامها في #ifيجب تعريف التوجيه عن طريق سطر الأوامر أو في إعدادات مشروع؛ هو لا #defineمعالج أولي توجيه.

يلي تعليمات برمجية يوضح استخدام #if، #else، و #endifتوجيهات. في هذا المثال، تتضمن تعليمات برمجية الثاني إصدارات التعريف function1. عند VERSION1هو المعرفة باستخدام -defineالخيار المترجم، التعليمة البرمجية بين #ifالتوجيه و #elseالتوجيه هو تنشيط. Otherwهوe، التعليمة البرمجية بين #elseو #endifهو تنشيط.

#if VERSION1
let function1 x y =
   printfn "x: %d y: %d" x y
   x + 2 * y
#else
let function1 x y =
   printfn "x: %d y: %d" x y
   x - 2*y
#endif

let result = function1 10 20

هناك هو لا #defineمعالج أولي التوجيه في F#. يجب أن تستخدم إعدادات مشروع أو خيار المترجم إلى تعريف الرموز المستخدمة بواسطة #ifالتوجيه.

يمكن أن تتداخل توجيهات الترجمة الشرطية. مسافة بادئة هو غير هامة لموجهات معالج أولي.

خط توجيهات

عند إنشاء، المحول البرمجي تقارير الأخطاء في تعليمات برمجية الخاصة ب # الإشارة إلى خط أرقام في حدوث كل خطأ. هذه الأسطر أرقام رقم 1 للخط أول في ملف. ومع ذلك، إذا كنت تقوم بإنشاء رمز المصدر F# من آخر الأداة، الخط أرقام في تعليمات برمجية المنشأة بشكل عام لم تكن ذات أهمية، نظراً للأخطاء الموجودة في التعليمات F# البرمجية المنشأة من المحتمل أن تنشأ من مصدر آخر. #lineتوجيه يوفر طريقة لكتاب أدوات التي تنشئ مصدر F# تعليمات برمجية لتمرير المعلومات حول الخط الأصلي الملفات المصدر وأرقام إلى F المنشأ # تعليمات برمجية.

عندما تقوم استخدم #lineتوجيه الملف يجب وضع أسماء ضمن علامات اقتباس. ما لم يكن الرمز المميز الحرفية ( @) يظهر في مقدمة السلسلة، يجب أن الهروب حرف الخط المائل العكسي باستخدام الخط المائل العكسي حرفين بدلاً من واحد لكي تتمكن من استخدامها في مسار. فيما يلي الخط صالح رموز مميزة. في هذه الأمثلة، افترض أن الملف الأصلي Script1نتائج في منشأة تلقائياً ب # رمز ملف عند تشغيله من خلال أداة، ويتم إنشاء التعليمة البرمجية في الموقع هذه توجيهات من بعض الرموز المميزة في سطر 25 في ملف Script1.

# 25
#line 25
#line 25 "C:\\Projects\\MyProject\\MyProject\\Script1"
#line 25 @"C:\Projects\MyProject\MyProject\Script1"
# 25 \@\"C:\Projects\MyProject\MyProject\Script1\"

These رموز مميزة indicate that the F# تعليمات برمجية generated at this الموقع هو derived من some constructs at أو قريب خط 25 في Script1.

موجهات مترجم

Compiler directives resemble معالج أولي directives, because they are prefixed مع a # sign, but instead of being interpreted بواسطة the معالج أولي, they are يسار for the compiler إلى interpret و act تشغيل.

The following جدول lists the compiler directive that هو متوفر في F#‎.

توجيه

الوصف

#light ["تشغيل"|"إيقاف"]

Enables أو disables lightweight بناء الجملة, for توافق مع غير ذلك versions of ML. بواسطة الافتراضي, lightweight بناء الجملة هو ممكّن. Verbose بناء الجملة هو دوماً ممكّن. Therefore, you can استخدم كلاهما lightweight بناء الجملة و verbose بناء الجملة. The directive #light بواسطة itself هو equivalent إلى #light "on". If you specify #light "off", you must استخدم verbose بناء الجملة for الجميع اللغة constructs. بناء الجملة في الوثائق الخاصة ب # هو المقدمة بافتراض أنك تستخدم بناء الجملة خفيفة. لمزيد من المعلومات، راجع مطول بناء الجملة (F#).

لموجهات مترجم (fsi.exe)، راجع F # المترجم (fsi.exe) المرجع.

راجع أيضًا:

موارد أخرى

مرجع لغة ب #

خيارات برنامج التحويل البرمجي (F #)