كيف تعمل وحدات القياس F#؟
-
09-06-2019 - |
سؤال
هل أتيحت لأي شخص فرصة للبحث في كيفية القيام بذلك F# وحدات القياس عمل؟هل هو مجرد خداع قائم على النوع، أم أن هناك أنواع CLR مختبئة تحتها ويمكن (من المحتمل) استخدامها من لغات .net الأخرى؟هل سيعمل مع أي وحدة رقمية، أم أنه يقتصر على قيم الفاصلة العائمة (وهو ما تستخدمه جميع الأمثلة)؟
المحلول
وفقا ل إجابة في منشور المدونة التالي ذي الصلة، فهي آلية ثابتة بحتة في مترجم F#.لذلك لا يوجد تمثيل CLR لبيانات الوحدات.
ليس من الواضح تمامًا ما إذا كان يعمل حاليًا مع الأنواع غير العائمة، ولكن من منظور نظام الكتابة، يكون ذلك ممكنًا من الناحية النظرية.
نصائح أخرى
أفضل مكان (وأعتقد أنه رسمي) لمعرفة ذلك هو مدونة أندرو كينيدي.
فيما يلي المشاركات (الحالية) ذات الصلة.
- وحدات القياس في F#:الجزء الأول: التعريف بالوحدات
- وحدات القياس في F#:الجزء الثاني تحويلات الوحدات
- وحدات القياس في F#:الجزء الثالث، الوحدات العامة
- وحدات القياس في F#:الجزء الرابع، أنواع المعلمات
كما قلت في المنشور الذي أشار إليه المجيب، فإن هذا بالتأكيد شيء لا يمكنك فعله في C# (على الرغم من أنني أتمنى أن تتمكن من ذلك).