Haskell:
Znalezienie długości ciągu znaków
Jak to zrobić:
W Haskellu używamy funkcji length
do znalezienia długości stringa. Oto jak to wygląda:
main :: IO ()
main = do
let myString = "Witaj, świat!"
print (length myString) -- Wyświetla długość stringa
Output:
13
Zanurz się głębiej
Historia języków programowania jest pełna różnych metod liczenia znaków w stringach. W Haskellu funkcja length
jest częścią standardowej biblioteki i działa na dowolnej liście, ponieważ stringi to po prostu listy znaków.
Inne sposoby? Można również użyć kombinatorów z biblioteki Data.Text
dla wydajniejszej obsługi dużych tekstów, albo własnoręcznie przejść przez każdy znak używając rekurencji czy funkcji wyższego rzędu.
Ciekawostka: length
w Haskellu jest typowo implementowana jako funkcja przejścia przez całą listę do końca, więc ma złożoność liniową O(n). Nie jest to najwydajniejsze dla wielkich list, ale w przypadku stringów zazwyczaj nie stanowi problemu.
Zobacz również
- Dokumentacja funkcji
length
: Hackage: base-4.16.0.0: Data.List - Haskell Wiki o stringach: HaskellWiki: String
- Lepsze praktyki z
Data.Text
: Hackage: text - Przykłady i tutorial Haskell: Learn You a Haskell for Great Good!