Οι σταγόνες βροχής είναι μια ελαφρώς πιο σύνθετη εκδοχή της πρόκλησης FizzBuzz, μιας κλασικής ερώτησης συνέντευξης.
Η αποστολή σου είναι να μετατρέψεις έναν αριθμό στους αντίστοιχους ήχους σταγόνων βροχής.
Αν ένας δεδομένος αριθμός:
"Plong"."PlingPlang"."34".Πρέπει να υλοποιήσεις τη συνάρτηση convert που επιστρέφει τον αριθμό μετατραμμένο σε ήχο σταγόνας βροχής. Μπορείς να χρησιμοποιήσεις την υπογραφή που δίνεται αν δεν είσαι σίγουρος για τους τύπους, αλλά μην την αφήσεις να περιορίσει τη δημιουργικότητά σου:
convert :: Int -> String
Αυτή η άσκηση δουλεύει με κειμενικά δεδομένα. Για ιστορικούς λόγους, ο τύπος String της Haskell είναι συνώνυμος με το [Char], μια λίστα χαρακτήρων. Για πιο αποδοτικό χειρισμό κειμενικών δεδομένων, μπορείς να χρησιμοποιήσεις τον τύπο Text.
Ως προαιρετική επέκταση αυτής της άσκησης, μπορείς να
- text στη λίστα με τις εξαρτήσεις σου στο package.yaml.Data.Text με τον ακόλουθο τρόπο:import qualified Data.Text as T
import Data.Text (Text)
convert :: Int -> Text και να αναφερθείς σε συνδυαστές του Data.Text ως π.χ. T.pack.Data.Text,String με Text στο Raindrops.hs:convert :: Int -> Text
Αυτό το μέρος είναι εντελώς προαιρετικό.
Γράψου στο Exercism για να μάθεις και να κατακτήσεις Haskell με 107 ασκήσεις και πραγματική καθοδήγηση από ανθρώπους, όλα δωρεάν.
Εξερεύνησε λύσεις που χρησιμοποιούν συναρτησιακά pipelines, πολλαπλασιασμό πινάκων, προϋπολογισμένες λύσεις βασισμένες σε πίνακα με χρήση μακροεντολής, μια αντικειμενοστραφή προσέγγιση, μια εντυπωσιακή αξιοποίηση τόσο της Python όσο και της TCL, καθώς και μια έκδοση για επιχειρήσεις.