المسارات
/
F#
F#
/
التمارين
/
شخص بالعدسات
شخص بالعدسات

شخص بالعدسات

صعب

التعليمات

استخدم العدسات لتحديث السجلات المتداخلة (خاص باللغات التي تتضمن بيانات غير قابلة للتغيير).

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

أحد الحلول لهذه المشكلة هو استخدام العدسات.

نفّذ عدة دوال للوصول إلى السجلات باستخدام العدسات. كما تتيح لك مجموعة الاختبارات تجنّب العدسات تمامًا، حتى تجرّب أساليب مختلفة.

تلميحات

  • يتوقع هذا التمرين منك أن تستخدم مكتبة Aether، التي تضيف ميزات lenses إلى F#. وباستخدام lenses، يمكنك بسهولة قراءة البنى المتداخلة أو تحديثها.
تعديل عبر GitHub يفتح الرابط في نافذة أو علامة تبويب جديدة
F# Exercism

مستعد لبدء شخص بالعدسات؟

سجّل في Exercism لتتعلّم وتتقن F# عبر 18 مفهومًا148 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.