人のグループに関する情報を格納するデータ型を作成しました。生年月日。データ型は単純に3タプルの2つのリストで、最初のリストは(first, middle, last)
の名前を保持し、2番目のリストはDOB(Day、Month、Year)を保持します。それはの名前を返しますので、予想されるタイプ 'x'を実際のタイプ `([Char]、[Char]、[Char]) 'と一致させることができませんでした。
data Names = Names [(String, String, String)]
data People = People Names
私は、最初のリストを作成する関数を記述しようとしている:あなたは、以下のデータ型が(それはこの質問には無関係ですので、私はDOBタイプを省略しました)見ることができます最初の人とその後People
のリスト。ここでは、これまでのところです:これは、今
error:
* Couldn't match expected type `Names'
with actual type `([Char], [Char], [Char])'
* In the first argument of `People', namely `("Bob", "Alice", "George")'
In the first argument of `(:)', namely
`People ("Bob", "Alice", "George")'
In the expression: People ("Bob", "Alice", "George") : []
になりハスケルの私の知識では、私は
String
がちょうど
[Char]
であると考え
initiallist :: ([String], People)
initiallist = (first_name, all_people)
where first_name = "Bob" : "Alice" : "George" : []
all_people = People ("Bob","Alice","George") : []
。だから私は自分のコードがうまくいくと思ったが、それは私には絶対に困惑していた。