حسابات البطيئة (F#)

حسابات البطيئة هي حسابات لا يتم تقييم مباشرة، لكنها بدلاً من تقييم متى النتيجة هو المطلوبة. يمكن أن يساعد هذا إلى تحسين الأداء من تعليمات برمجية الخاصة بك.

let identifier = lazy ( expression )

ملاحظات

في بناء الجملة السابق، expressionهو تعليمات برمجية التي يتم تقييمها فقط عندما تكون نتيجة المطلوبة، و identifierالقيمة التي تخزن النتيجة. القيمة هو من نوع Lazy <'T> ، الموقع الفعلي كتابته هو المستخدمة ل 'Tهو تحديد من نتيجة تعبير.

تمكين حسابات البطيئة بتحسين الأداء بتقييد تنفيذ احتساب لتلك المواقف التي فقط نتيجة هو المطلوبة.

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

يوضح التعليمة البرمجية التالية استخدام احتساب البطيئة و استخدم Force. في هذه تعليمات برمجية نوع من resultهو Lazy<int>، و Forceإرجاع الأسلوب int.

let x = 10
let result = lazy (x + 10)
printfn "%d" (result.Force())

تقييم البطيئة، ولكن لا Lazyالنوع، هو أيضا استخدام تسلسلات. لمزيد من المعلومات، راجع تسلسلات (F#).

راجع أيضًا:

موارد أخرى

مرجع لغة ب #

وحدة نمطية? LazyExtensions