私はこのようになりますリストがあります:Haskellで特定の長さのリスト内でリストを選択するにはどうすればよいですか? Haskellで
[[["PersonA"],["AddressA"]],[["PersonB"],["AddressB"]],[["PersonC"]]]
を、私は長さ= 2、私はのアドレスを知っている、すなわち人々を持っている私のリスト内のリストを必要としています。この場合、私は望むでしょう:
[["PersonA"],["Address"]]
and
[["PersonB"],["Address"]]
私は彼のアドレスを持っていないので、私はPersonCを望んでいません。
私のようなものを考えていた:
myList = [[["PersonA"],["123456789"]],[["PersonC"],["987654321"]],[["PersonE"]]]
main :: IO()
main = do
map (\x -> if length x == 2 print x else print "") myList
(印刷は一例であり、私は後でそれらと連携する必要があります)
しかし、これは
Couldn」を返します実際のタイプ「IO()」で予想されるタイプ「IO()」と一致する
行5のエラーです。
どのようにすればいいですか?
おかげ
Ick。 'data Person = Person {name :: String、address :: Maybe String}'のような実数型を使用してください。 –
どうやって使用しますか?また、アドレスのないデータの人を捨てたいので、無駄な情報を保存しないのでしょうか?そして、私はまだ私のプログラムでそれがさらに必要なときに、誰が住所を持っていて誰が誰でないかを確認する必要があります。 – BourbonCreams
BourbonCreams、@DanielWagnerは、あなたが人をそのようなリストとして表現している状況になることを避けることを示唆している可能性があります。それは唯一の痛みを引き起こすつもりです。 – dfeuer