Хороший подход. Я пометил Томаса как правильный ответ, но мне нравится этот подход, который я, вероятно, буду использовать

аюсь создать структуру, чтобы сделать некоторую обработку файлов и данных. Единственная область, с которой я борюсь, - это как обеспечить каркасную функцию протоколирования, позволяющую каркасу сообщать о сообщениях без каких-либо знаний об использовании логирования.

let testLogger (source:seq<'a>) logger =
    logger "Testing..."
    let length = source |> Seq.length
    logger "Got a length of %d" length


let logger format = Printf.kprintf (printfn "%A: %s" System.DateTime.Now) format
testLogger [1; 2; 3] logger

В идеале я хочу, чтобы этот код работал, но я не могу понять, как передать функцию регистрации.

Ответы на вопрос(0)

Ваш ответ на вопрос