Buduję równoległą jednostkę testową za pomocą MailBoxProcessor.Czy można przekazać Printf.TextWriterFormat do MailBoxProcessor?
Muszę umieścić w kolejce instrukcje drukowania dla testu, więc mogę je wydrukować po zakończeniu testu. Wiem, jak wysłać ciąg znaków i utworzyć listę, aby móc je wydrukować, ale to zmusza mnie do użycia sprintf
i wstawienia go do mojej funkcji drukowania i nie jest tak czysty, jak bym chciał.
[1..200]
|> List.iter (fun i ->
sprintf "Test %i" i &&& fun ctx ->
ctx.printfn <| sprintf "A guid %A" (ng())
ctx.printfn <| sprintf "I am test %i" i
ctx.printfn <| sprintf "A guid %A" (ng()))
Można zobaczyć pełny kod tutaj: https://github.com/lefthandedgoat/prunner/blob/master/Program.fs#L36-L41
i zobaczyć, że ctx
to obiekt z printfn
metody, która pobiera ciąg i księguje je do jednej skrzynki pocztowej, która kolejkuje górę wiadomości aż do powstania testów jest zrobione, potem pętle nad nimi i je drukuje.
Moim celem jest mieć ctx.printfn
wyglądać następująco
[1..200]
|> List.iter (fun i ->
sprintf "Test %i" i &&& fun ctx ->
ctx.printfn "A guid %A" (ng())
ctx.printfn "I am test %i" i
ctx.printfn "A guid %A" (ng()))
Nicea, ja o tym nie wiedziałem! Przyda się w przyszłości, dzięki. – Roujo
To działa! Dziękuję bardzo, przeczytam teraz o kprintf! – lefthandedgoat