سؤال

أحاول إنشاء قائمة بنوع نقاط البيع (مخصص) ولكن استمر في الحصول على الخطأ التالي:

Not in scope: type constructor or class `List'

كود:

import Data.List
type Pos = (Int, Int)
type PlayList = List Pos

يظهر الخطأ في السطر حيث أحدد قائمة تشغيل النوع الخاصة بي.

أي أفكار?استخدام هاسكل في إكليبسفب

هل كانت مفيدة؟

المحلول

يسمى نوع القائمة في الواقع [], ، لذلك كنت تريد

type PlayList = [Pos]

على الرغم من أنك غالبا ما ترى الناس يكتبون تنفيذ القائمة الخاصة بهم للعب مع تقنيات مختلفة على النحو التالي

data List a = Nil | Cons a (List a)

وهو متماثل (مطابق لـ باستثناء الاسم) التنفيذ الفعلي لـ

data [a] = [] | a : [a]

أين Nil == [] و Cons == (:).

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top