Track
/
F#
F#
/
Esercizi
/
Livelli di log
Livelli di log

Livelli di log

Esercizio di apprendimento

Introduzione

Le stringhe

Una string in F# è un oggetto che rappresenta testo immutabile come sequenza di caratteri Unicode (lettere, cifre, segni di punteggiatura, ecc.) e si definisce così:

let fruit = "Apple"

Le stringhe si manipolano chiamando i metodi della stringa oppure usando le funzioni del modulo String. Una volta costruita, una stringa non può più cambiare valore. Qualsiasi metodo o funzione che sembri modificare una stringa in realtà restituisce una nuova stringa.

Le stringhe si possono concatenare o formattare in diversi modi.

  • Puoi usare l'operatore + per la concatenazione:
let sentence = "Apple" + " is a type of fruit."
  • Puoi usare la funzione sprintf per formattare il testo, dove hai dei segnaposto in un testo di formato (%s per una string) e fornisci i valori come argomenti:
let sentence = sprintf "%s is a type of %s." "Apple" "fruit"

Istruzioni

In questo esercizio elaborerai delle righe di log.

Ogni riga di log è una stringa formattata così: "[<LEVEL>]: <MESSAGE>".

Ci sono tre livelli di log diversi:

  • INFO
  • WARNING
  • ERROR

Hai tre attività da svolgere, e ognuna riceverà una riga di log su cui dovrai fare qualcosa.

1. Estrarre il messaggio da una riga di log

Implementa la funzione message in modo che restituisca il messaggio di una riga di log:

message "[ERROR]: Invalid operation"
// => "Invalid operation"

Gli spazi bianchi all'inizio e alla fine vanno rimossi:

message "[WARNING]:  Disk almost full\r\n"
// => "Disk almost full"

2. Estrarre il livello di log da una riga di log

Implementa la funzione logLevel in modo che restituisca il livello di log di una riga di log, scritto in minuscolo:

logLevel "[ERROR]: Invalid operation"
// => "error"

3. Riformattare una riga di log

Implementa la funzione reformat che riformatta la riga di log, mettendo prima il messaggio e poi il livello di log tra parentesi:

reformat "[INFO]: Operation completed"
// => "Operation completed (info)"
Modifica tramite GitHub Il link si apre in una nuova finestra o scheda
F# Exercism

Vuoi iniziare Livelli di log?

Iscriviti a Exercism per imparare e padroneggiare F# con 18 concetti148 esercizi e il mentoring di persone reali, tutto gratis.