การทำให้ตัวอักษรเป็นตัวพิมพ์ใหญ่ในสตริง

Haskell:
การทำให้ตัวอักษรเป็นตัวพิมพ์ใหญ่ในสตริง

วิธีการ:

ในภาษา Haskell, คุณสามารถทำให้สตริงเป็นตัวพิมพ์ใหญ่ได้โดยใช้ไลบรารีมาตรฐานโดยไม่ต้องใช้ไลบรารีของบุคคลที่สาม

import Data.Char (toUpper, toLower)

capitalize :: String -> String
capitalize "" = ""
capitalize (head:tail) = toUpper head : map toLower tail

-- ตัวอย่างการใช้งาน:
main = putStrLn $ capitalize "hello world"

ผลลัพธ์:

Hello world

สำหรับสถานการณ์ที่ซับซ้อนมากขึ้นหรือความง่ายในการใช้งาน, คุณอาจต้องการใช้ไลบรารีของบุคคลที่สาม เช่น text, ซึ่งเป็นที่นิยมสำหรับการจัดการสตริงอย่างมีประสิทธิภาพในภาษา Haskell

ก่อนอื่น, คุณต้องเพิ่ม text เข้าไปใน dependencies ของโปรเจกต์ของคุณ จากนั้น, คุณสามารถใช้ฟังก์ชั่นของมันในการทำให้สตริงเป็นตัวพิมพ์ใหญ่ดังต่อไปนี้:

import qualified Data.Text as T
import Data.Char (toUpper)

capitalizeText :: T.Text -> T.Text
capitalizeText text = case T.uncons text of
    Nothing -> T.empty
    Just (first, rest) -> T.cons (toUpper first) (T.toLower rest)

-- ตัวอย่างการใช้งานกับไลบรารี text:
main = putStrLn $ T.unpack $ capitalizeText (T.pack "hello world")

ผลลัพธ์:

Hello world

ทั้งสองตัวอย่างนี้แสดงวิธีการที่ง่ายและมีประสิทธิภาพในการทำให้สตริงเป็นตัวพิมพ์ใหญ่ในภาษา Haskell, โดยมีหรือไม่มีไลบรารีของบุคคลที่สาม