2012-02-03 4 views
0

API에서 Java를 수동으로 구문 분석하고, 파일로 출력하고, 파일을 읽고, 데이터를 추가하고 .tex 형식으로 출력합니다. 모든 것은 최종 출력 document.tex에서 단 하나의 큰 따옴표와 후행 큰 따옴표를 제외하고는 완벽하게 작동합니다.앞뒤에 따옴표가 출력됩니다.

"HtmlString"은 실제로 "APIString"이어야하지만 진행중인 작업입니다. 이름은 아직 안 마셔. 나는 .NET 프레임 워크에 새로운 오전

let mkStream (data:string) (filepath:string) = 
    use outFile = new StreamWriter(filepath) 
    outFile.WriteLine(sprintf "%A" data) 
    outFile.Close() 
    let (|->) (data:string) (filepath:string) = 
    mkStream data filepath 
    let (!<) (filepath:string) = new StreamReader(filepath) 
    HtmlString myRoute_API |-> ftext 
    let java = !< ftext 
    let javastr = java.ReadToEnd() 
    let jclose = java.Close() 
    let a = parseDirections javastr myStops 
    let d = publish javastr a wayptList deliveries |-> fltex 

:

여기 내 코드입니다. 그러나 필자의 머리 꼭대기에서 Writeline 함수가 sprintf 문에서 나오는 따옴표 안에 문자열 대신 리터럴 문자열을 인쇄하는 이유는 생각지 않습니다.

Windows 파일 출력의 뉘앙스처럼 보입니다 ... 아마도 간단한 대답 일 것입니다.

+0

왜 C# 태그입니까? –

+0

HtmlString은 .Net 클래스입니다. F # 사용자보다 더 많은 C# 사용자가 있다고 생각하기 때문에 http://msdn.microsoft.com/en-us/library/system.web.htmlstring.aspx –

+0

...이 문제는 WriteLine과 관련이 있습니다. F #에 관한 문제. 그래서 C#도 태그를 얻었습니다. – user1111

답변

3

내 의견을 대답으로 다시 게시하면 문제가 해결되므로 다시 게시하십시오.

sprintf "%A"outFile.WriteLine(sprintf "%A" data)에서 삭제하십시오.

+0

그 이유는 바로 큰 따옴표가 있기 때문입니다. btw, 데이터가 문자열이기 때문에 sprintf % s를 사용하면 큰 따옴표가 없을 것입니다. % A는 그것들을 더합니다. – Alex

+0

'sprintf' (형식 지정자 포함)는 호출 내에서 불필요합니다. 'WriteLine'. – Daniel

관련 문제