我有這個功能,我需要爲我的任務構建。Haskell - 如何訪問列表中的列表
該函數返回所有輸入句子中所有符號的列表(無重複)。當句子和符號有以下幾種類型:
-- Symbols are strings (a negative sign as the first character represents a negated symbol)
type Symbol = String
-- Sentence = Statements. This is a list of a list of symbols
type Sentence = [[Symbol]]
我試圖與列表理解和遞歸,但我不知道如何列表中的訪問列表。此外,你不需要有任何重複,爲了這個,我用小塊功能:
getSymbols :: [Sentence] -> [Symbol]
getSymbols stmts = nub [ x | [x: xs] <- stmts ]
Input: getSymbols [["A"], ["B","C"], ["C"]]
Return: ["A", "B", "C"]
真的很感謝一些幫助!
使用降價(例如StackOverflow上的代碼)時,將所有代碼行縮進四個空格。另請參閱https://stackoverflow.com/editing-help#code – Zeta