컨텍스트 : Microsoft Visual Studio 2015 커뮤니티; F #F #에서 문자열 [] []을 (를) 트래버스하는 방법
저는 하루에 약 1/2 정도 F #을 배웠습니다. 나는 mLite을 만지작 거리며 보내는 1 년 동안 함수형 프로그래밍을하는 방법에 대해 모호한 생각을 가지고 있습니다.
다음 스크립트는 폴더 트리를 가로 지르고 로그 파일을 가져옵니다. 파일에는 ~
으로 구분 된 항목이 있으며 하나 이상있을 수 있습니다. 아이디어는 내가 긴 하나에 모든 로그를 변환 할 것을 되 String[]
로를 설정하는 방법을 알아 내기 위해
open System
open System.IO
let files =
System.IO.Directory.GetFiles("C:\\scratch\\snapshots\\", "*.log", SearchOption.AllDirectories)
let readFile (file: string) =
//Console.WriteLine(file)
let text = File.ReadAllText(file)
text
let dataLines (line: string) =
line.Split('~')
let data =
files |> Array.map readFile |> Array.map dataLines
그래서이 시점에서 data
는 String[][]
포함하고 나는 손실의 조금에 있어요 벡터 그래서 내가 그것에 대한 다른 변형을 할 수 있습니다. 예를 들어, 각 로그 라인은 datetime으로 시작하므로 모든 것을 하나의 긴 목록으로 바꿔서 datetime을 정렬 할 수 있습니다.
여기에서 오는? 코멘트에 명시된 바와 같이
['Array.concat' (https://msdn.microsoft.com/en-us/visualfsharpdocs/conceptual/array.concat [ 't] -function- [fsharp])? – ildjarn
그게 간단했다. 오 잘, 그렇게 많이. – bugmagnet