這是當前代碼我要顯示的信息的數據庫的價值,但在打印了這一點,當它是不是很清楚閱讀..哈斯克爾 - 格式問題
type Title = String
type Cast = String
type Year = Int
type Fans = String
type Film = (Title, [Cast], Year, [Fans])
type Database = [Film]
testDatabase :: Database
testDatabase = [("Casino Royale", ["Daniel Craig", "Eva Green", "Judi Dench"], 2006, ["Garry", "Dave", "Zoe", "Kevin", "Emma"]),
("Cowboys & Aliens", ["Harrison Ford", "Daniel Craig", "Olivia Wilde"], 2011, ["Bill", "Jo", "Garry", "Kevin", "Olga", "Liz"]),
("Catch Me If You Can", ["Leonardo DiCaprio", "Tom Hanks"], 2002, ["Zoe", "Heidi", "Jo", "Emma", "Liz", "Sam", "Olga", "Kevin", "Tim"])]
運行此功能時:
displayAllFilms :: Database ->[(Title, [Cast], Year, [Fans])]
displayAllFilms [] = []
displayAllFilms ((i, j, k, l): xs)
|l == [] = (i, j, k, []) : displayAllFilms xs
|otherwise = (i, j, k, l) : displayAllFilms xs
它打印此:
[( 「皇家賭場」,[ 「丹尼爾·克雷格」, 「伊娃·格林」, 「朱迪·丹奇」],2006年[ 「加里」, 「戴維」,「佐伊「,」Kevin「,」Emma「]),(」Cowboys & Aliens「,[」H arrison Ford「,」Daniel Craig「,」Olivia Wilde「,2011,[」Bill「,」Jo「,」Garry「,」Kevin「,」Olga「,」Liz「]),(」 Can「,[」Leonardo DiCaprio「,」Tom Hanks「],2002,[」Zoe「,」Heidi「,」Jo「,」Emma「,」Liz「,」Sam「,」Olga「,」Kevin「 「Tim」])]
這顯然是不可讀的:有沒有辦法讓每部電影信息(在這種情況下)都印在單獨的行上,即。利用/ n符號?
幫助將非常感謝,提前致謝! :)
感謝您的幫助,澄清,這部分代碼做什麼?: displayAllFilms db = mapM_ print db – user2240649 2013-04-04 12:54:23
@ user2240649請參閱編輯。 – dave4420 2013-04-04 13:05:45