يفتقر إلى الربط المصاحب - ماذا يعني؟كيف تعمل؟
-
12-12-2019 - |
سؤال
أنا أتدرب من LYAH.
يحتوي ملف phoneBook.hs على الكود التالي:
سجل الهاتف ::[(سلسلة، سلسلة)]
أثناء محاولتي تجميع الكود المذكور أعلاه يظهر لي الخطأ التالي:
*رئيسي>: تحميل "/home/optimight/phonebook.hs" [1 من 1] تجميع Main (/Home/Optimight/phonebook.hs ، تم تفسيره)
/home/optimight/phoneBook.hs:1:1:يفتقر توقيع النوع لـ "دفتر الهاتف" إلى فشل الربط المصاحب ، وحدات تم تحميلها:لا أحد.
تمت إضافة السؤال بعد إجابة برانو والتعليق اللاحق على هذه الإجابة:كيف يمكننا توفير التنفيذ لتوقيع النوع المذكور أعلاه؟
إذا قمت بإضافة هذا:
اكتب دليل الهاتف = [(سلسلة، سلسلة)]
أنا على الحصول على الخطأ التالي:
Prelude>: تحميل "/home/optimight/phonebook.hs" [1 من 1] تجميع Main (/home/optimight/phonebook.hs ، تم تفسيره)
/home/optimight/phoneBook.hs:2:6:رأس تالف للنوع أو إعلان الفئة:فشل دفتر الهاتف ، وحدات تم تحميلها:لا أحد
المحلول
تحتاج إلى توفير تطبيق لدليل الهاتف.
phoneBook :: [(String, String)]
هو مجرد التوقيع.
نصائح أخرى
إذا كنت تريد الإعلان عن نوع ما، فيجب أن يحتوي على أحرف كبيرة أولية، على سبيل المثال. type PhoneBook = [(String, String)]
.
إذا كنت تريد الإعلان عن دالة، فأنت بحاجة إلى تقديم تعريفها فقط (الربط) أو تعريفها وتوقيع نوعها.الحد الأدنى من الجهد لتجميع التعليمات البرمجية الخاصة بك هو:
phoneBook :: [(String, String)]
phoneBook = undefined
ثم يمكنك استبدال undefined
مع أي قيمة من النوع [(String, String)]
على سبيل المثال [("Person","Number")]
.