Haskell:
文字列を小文字に変換
How to: (方法:)
import Data.Char (toLower)
-- 文字を小文字に変換
lowercaseChar :: Char -> Char
lowercaseChar c = toLower c
-- 文字列を小文字に変換
lowercaseStr :: String -> String
lowercaseStr = map toLower
-- 使い方
main :: IO ()
main = do
let originalStr = "Haskell is Awesome!"
let lowerStr = lowercaseStr originalStr
putStrLn lowerStr
出力:
haskell is awesome!
Deep Dive (深堀り)
歴史的背景:
大文字と小文字の区別は、文字が打ち出された印刷術の発展に由来します。Haskellの Data.Char
モジュール(toLower
関数を含む)は、Unicode 標準に準拠し、多様な文字コードに対応しています。
代替案:
他の方法として Data.Text.toLower
(text
パッケージから)や自作変換関数を使うことがありますが、 map
と Data.Char.toLower
の組み合わせは簡単で直感的です。
実装の詳細:
toLower
はUnicodeの大文字と小文字の対応を考えて設計されているので、英文字だけではなく世界中の言語の文字に適用可能です。
See Also (関連情報)
- Haskell
Data.Char
モジュール: Hackage Data.Char - Unicode 標準に関する情報: Unicode Consortium
text
パッケージ: Hackage Data.Text