Haskell 我试图列出一个具有两种数据类型的元组的详细信息,我该怎么做?
我试图在元组中显示数据,我该怎么做? 我的电影由字符串、字符串、Int、[]、[]和浮点组成Haskell 我试图列出一个具有两种数据类型的元组的详细信息,我该怎么做?,haskell,Haskell,我试图在元组中显示数据,我该怎么做? 我的电影由字符串、字符串、Int、[]、[]和浮点组成 formFilmAsStringInt:: (Film,Float) -> String formFilmAsStringInt title,director,year,likes,dislikes,number = "Title: " ++ title ++ "\nDirector: " ++ director ++ "\nYear:" ++ show year ++ "\nLikes:"
formFilmAsStringInt:: (Film,Float) -> String
formFilmAsStringInt title,director,year,likes,dislikes,number = "Title: " ++
title ++ "\nDirector: " ++ director ++ "\nYear:" ++ show year ++ "\nLikes:"
++ unwords likes ++ " \nDislikes: " ++ unwords dislikes ++"\n\n"
似乎是对的一个很好的使用,但是如果模式匹配得当,您可以使用代码
formFilmAsStringInt title,director,year,likes,dislikes,number
使用printf,我会写:
formFilmAsStringInt :: (Film, Float) -> String
formFilmAsStringInt ((Film title director year likes dislikes), number) =
-- what you wrote above
请提供完整的代码,包括电影类型。Film=Title,Director,Year,Likes,Dislikes-where Title,Director=String,Year=Int,Likes,Dislikes=[User],User=String我想显示电影的信息,注意你没有用数字做任何事情-为什么要包括它?我本来应该添加数字的,但忘了,谢谢你的帮助
import Text.Printf (printf)
formFilmAsStringInt :: (Film, Float) -> String
formFilmAsStringInt ((Film title director year likes dislikes), number) =
let template = "Title: %s\n\
\Director: %s\n\
\Year: %d\n\
\Likes: %s\n\
\Dislikes: %s\n\n"
in printf template title director year likes dislikes