Διαδρομές
/
F#
F#
/
Ασκήσεις
/
Επίπεδα καταγραφής
Επίπεδα καταγραφής

Επίπεδα καταγραφής

Άσκηση εκμάθησης

Εισαγωγή

Συμβολοσειρές

Στη F#, το string είναι ένα αντικείμενο που αναπαριστά αμετάβλητο κείμενο ως ακολουθία χαρακτήρων Unicode (γράμματα, ψηφία, σημεία στίξης κ.λπ.) και ορίζεται ως εξής:

let fruit = "Apple"

Οι συμβολοσειρές χειρίζονται είτε καλώντας τις μεθόδους της συμβολοσειράς είτε χρησιμοποιώντας τις συναρτήσεις που παρέχει το String. Μόλις δημιουργηθεί μια συμβολοσειρά, η τιμή της δεν μπορεί να αλλάξει ποτέ. Οποιεσδήποτε μέθοδοι/συναρτήσεις φαίνεται να τροποποιούν μια συμβολοσειρά, στην πραγματικότητα επιστρέφουν μια νέα συμβολοσειρά.

Οι συμβολοσειρές μπορούν να συνενωθούν ή να μορφοποιηθούν με μερικούς διαφορετικούς τρόπους.

  • Μπορείς να χρησιμοποιήσεις τον τελεστή + για συνένωση:
let sentence = "Apple" + " is a type of fruit."
  • Μπορείς να χρησιμοποιήσεις τη συνάρτηση sprintf για μορφοποίηση κειμένου, όπου έχεις σύμβολα αντικατάστασης σε ένα κείμενο μορφοποίησης (το %s για μια string) και παρέχεις τις τιμές ως ορίσματα:
let sentence = sprintf "%s is a type of %s." "Apple" "fruit"

Οδηγίες

Σε αυτή την άσκηση θα επεξεργάζεσαι γραμμές καταγραφής.

Κάθε γραμμή καταγραφής είναι μια συμβολοσειρά με την εξής μορφή: "[<LEVEL>]: <MESSAGE>".

Υπάρχουν τρία διαφορετικά επίπεδα καταγραφής:

  • INFO
  • WARNING
  • ERROR

Έχεις τρεις εργασίες, καθεμία από τις οποίες θα παίρνει μια γραμμή καταγραφής και θα σου ζητάει να κάνεις κάτι με αυτήν.

1. Πάρε το μήνυμα από μια γραμμή καταγραφής

Υλοποίησε τη συνάρτηση message ώστε να επιστρέφει το μήνυμα μιας γραμμής καταγραφής:

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

Τυχόν κενά διαστήματα στην αρχή ή στο τέλος πρέπει να αφαιρούνται:

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

2. Πάρε το επίπεδο καταγραφής από μια γραμμή καταγραφής

Υλοποίησε τη συνάρτηση logLevel ώστε να επιστρέφει το επίπεδο καταγραφής μιας γραμμής καταγραφής, το οποίο πρέπει να επιστρέφεται με πεζά γράμματα:

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

3. Αναδιαμόρφωσε μια γραμμή καταγραφής

Υλοποίησε τη συνάρτηση reformat που αναδιαμορφώνει τη γραμμή καταγραφής, βάζοντας πρώτα το μήνυμα και μετά το επίπεδο καταγραφής σε παρενθέσεις:

reformat "[INFO]: Operation completed"
// => "Operation completed (info)"
Επεξεργασία μέσω GitHub Ο σύνδεσμος ανοίγει σε νέο παράθυρο ή καρτέλα
F# Exercism

Έτοιμος να ξεκινήσεις την άσκηση Επίπεδα καταγραφής;

Γράψου στο Exercism για να μάθεις και να κατακτήσεις F# με 18 έννοιες148 ασκήσεις και πραγματική καθοδήγηση από ανθρώπους, όλα δωρεάν.