我想打印一個大名單與F#和是一個艱難的時刻。我正在嘗試在F#中創建一個詞法分析器,我相信我已經完成了,但似乎無法打印整個列表來檢查它。打印大型列表,F#
這裏是什麼,我試圖做
let modifierReg = Regex("(public|private)");
let isModifier str = if (modifierReg.IsMatch(str)) then ["Modifier"; str] else ["Keyword"; str]
let readLines filePath = seq {
use sr = new StreamReader (filePath:string)
while not sr.EndOfStream do
yield sr.ReadLine() }
let splitLines listArray =
listArray
|> Seq.map (fun (line: string) -> let m = Regex.Match(line, commentReg) in if m.Success then (m.Groups.Item 1).Value.Split([|' '|], System.StringSplitOptions.RemoveEmptyEntries) else line.Split([|' '|], System.StringSplitOptions.RemoveEmptyEntries))
let res =
string1
|> readLines
|> splitLines
let scanLines lexicons =
lexicons
|> Seq.map (fun strArray -> strArray |> Seq.map (fun str -> isModifier(str)))
let printSeq seq =
printfn "%A" seq
let scanner filePath =
filePath
|> readLines
|> splitLines
|> scanLines
let scannerResults = scanner pathToCode
printSeq scannerResults
當我嘗試打印的清單,我得到以下
SEQ 〔序列[「關鍵字」的例子。 「類」]; [ 「標識符」; 「一個」]]; seq [[「Block」; 「{」]]; seq [[「Modifier」; 「上市」]; [「類型」; 「INT」]; [ 「標識符」; 「X;」]]; seq [[「Modifier」; 「上市」]; [「類型」; 「INT」]; [ 「標識符」; 「Y」;]]; ...]
我不能讓它進一步打印任何。我得到相同的行爲,如下所示簡單
printfn "%a" [1 .. 101]]
我似乎無法弄清楚如何打印出來。有人對此有經驗嗎?我似乎無法找到任何例子
謝謝,這工作完美。 –