نوع وحدة (F#)

unitهو نوع نوع يشير إلى عدم وجود القيمة معينة؛ unitاكتب h كـ فقط القيمة مفردة والذي يعمل كـ عنصر نائب عند وجود القيمة غير ذلك أو مطلوبة.

// The value of the unit type.
()

ملاحظات

كل ب # تعبير يجب أن تقيم إلى القيمة. التعبيرات التي لا تنشئ قيمة التي هو ذات أهمية، القيمة نوع unitهو المستخدمة. unitتمثل نوع voidاكتب بلغات مثل كـ C# و C + +.

unitله نوع القيمة واحدة، وتلك الالقيمة هو المشار إليها بالرمز المميز ().

القيمة unitنوع هو غالباً في F# البرمجة للاحتفاظ بالمكان الموقع قيمة هو المطلوبة ببناء جملة لغة، ولكن عند عدم وجود قيمة هو الحاجة أو الرغبة في ذلك. قد يكون أحد الأمثلة الالقيمة المرجعة من printfدالة. لأن الالاجراءات الهامة من printfتتم عملية في دالة، لم يكن للدالة إلى العودة القيمة الفعلية. ولذلك، قيمة الإرجاع هو من نوع unit.

تتوقع بعض بنيات unitالقيمة. على سبيل المثال، على doربط أو أي تعليمات برمجية في المستوى الأعلى من وحدة نمطية هو من المتوقع أن تؤدي إلى unitالقيمة. المحول البرمجي بالإبلاغ عن تحذير عند doربط أو تعليمات برمجية في المستوى الأعلى من وحدة نمطية تعطي نتيجة غير ذلك من unitالالقيمة التي لا تستخدم، كما هو موضح في المثال التالي.

let function1 x y = x + y
// The next line results in a compiler warning.
function1 10 20 
// Changing the code to one of the following eliminates the warning.
// Use this when you do want the return value.
let result = function1 10 20
// Use this if you are only calling the function for its side effects,
// and do not want the return value.
function1 10 20 |> ignore

Th هو تحذير هو characterهوtic برمجة الوظيفية؛ فهو لا يظهر في.NET الأخرى لغات البرمجة. في برنامج إلى وظيفية، فيه وظائف لم يكن أي تأثيرات جانبية، وإرجاع القيمة النهائية هو نتيجة استدعاء دالة فقط. ولذلك، عندما النتيجة هو تجاهل، فإنه هو خطأ برمجي محتملة. على الرغم من أن F# هو لغة برمجة غير فعالة إلى، فإنه هو إجراءاً جيدا أن تتبع النمط البرمجة الوظيفية كلما أمكن ذلك.

راجع أيضًا:

المرجع

أنواع الأولية (F#)

موارد أخرى

مرجع لغة ب #