Haskell:
문자열의 길이 찾기
How to: (어떻게 할까)
-- 문자열 길이 찾기:
lengthOfString :: String -> Int
lengthOfString = length
-- 사용 예시:
main :: IO ()
main = print $ lengthOfString "안녕하세요!"
-- 출력:
-- 6
Deep Dive (심층 분석)
length
함수는 Haskell에서 문자열의 길이를 측정한다. 이는 리스트의 길이를 측정하는 length
함수와 같다. 사실, Haskell에서 문자열은 문자의 리스트다. 알고리즘이 단순 루프로 모든 요소를 탐색하며 카운트한다.
과거에는 length
함수의 성능이 느렸지만, Haskell 컴파일러는 많이 최적화되었다. 그래도 큰 리스트나 문자열에 length
를 사용하면 느릴 수 있다. 대신, foldr
같은 함수로 동일한 작업을 수행할 수 있다. 또 다른 방법은 길이를 저장하는 구조체를 사용하는 것이다.
Strict
모듈의 Data.Text
나 Data.ByteString
과 같이 다른 데이터 유형 사용도 고려해볼 만하다. 이들은 문자열 연산을 더 효율적으로 처리한다.
See Also (참고자료)
- Haskell Wiki: https://wiki.haskell.org
- Hackage
Data.Text
Documentation: https://hackage.haskell.org/package/text - Hackage
Data.ByteString
Documentation: https://hackage.haskell.org/package/bytestring