Lahendatud: string lõhenenud

Sageli puutume arendajana kokku suurte andmestringidega töötamise nõudega, kus stringidega manipuleerimise vajadus muutub vältimatuks. Üks selline levinud toiming on stringi poolitamine, mis moodustab andmete ekstraheerimise ja töötlemise lähtejoone. Haskell, mis on võimas ja süntaktiliselt rikas programmeerimiskeel, pakub meile mitmeid viise stringi tükeldamiseks. Selle artikli eesmärk on visandada lahendused stringi tükeldamiseks Haskellis ja pakkuda kõikehõlmavat ülevaadet kaasatud koodist.

Haskelli valdkonnas ei paku standardne teek otsest funktsiooni stringide tükeldamiseks. Kuid Haskelli tohutu pakettide ja raamatukogude ökosüsteem pakub meile soovitud tulemuste saavutamiseks mitu võimalust. Nende hulgas on tähelepanuväärne Data.List.Split teek, mis on tuntud oma suure hulga loenditega manipuleerimise funktsioonide poolest, mis sisaldab funktsiooni "splitOn", mida saame kasutada stringide poolitamiseks.

[Rohkem]

Data.List.Split: stringide kiire poolitamine

Üks võimsamaid Haskelli pakutavaid teeke on Data.List.Split. See pakub hulgaliselt loenditega manipuleerimise funktsioone, mida me sageli kasutame. Funktsioon "splitOn" on stringide tükeldamiseks enim kasutatav. Selle teegi kasutamiseks peate selle esmalt installima käsuga:

cabal update 
cabal install split

Pärast teegi edukat installimist saate nüüd Haskellis stringi tükeldamise rakendada järgmiselt:

import Data.List.Split
main = do 
   let result = splitOn " " "haskell string split"
   print result

Ülaltoodud koodis võtab funktsioon "splitOn" kaks argumenti. Esimene argument on eraldaja, mis näitab, kus string tuleks jagada. Teine argument on jagatav string. Funktsioon jagab stringi iga kord, kui ta kohtab antud eraldajat, siin on tühi ruum " ".

Haskelli sõnade funktsioon: sisseehitatud eelis

Sageli ei pea Haskelli põhiline stringi tükeldamine vajadust teekidesse sisenemiseks, kuna sellel on sisseehitatud funktsioon 'words', mis teeb just seda, st jagab stringi igas ruumis. See näeb välja järgmiselt:

main = do 
   let result = words "haskell string split"
   print result

Funktsioon "sõnad" jagab stringi iga ruumi esinemise korral. See on kiire ja mugav lahendus, välja arvatud see, et see jagab ainult tühikute kaupa, erinevalt Data.List.Spliti funktsioonist "splitOn", mis võimaldab teil määrata eraldaja.

Kokkuvõtteks an

  • järjekorras, Haskellis saab stringide tükeldamise saavutada kas funktsiooni `splitOn' kaudu teegist Data.List.Split või sisseehitatud funktsiooni "sõnad" abil. Mõlemad meetodid annavad usaldusväärse lahenduse, kuid valik nende vahel sõltub sellest, kas peate määrama eraldaja või piisab lihtsast ruumipõhisest jagamisest.

Keelte lõhestamise kunsti võib tajuda kui moeansambli ettevalmistamist. Sarnaselt sellele, kuidas erinevad rõivad ja aksessuaarid (analoogselt erinevate Haskelli raamatukogude ja funktsioonidega) saavad kokku tervikliku riietuse. Samamoodi ühendavad need erinevad lähenemisviisid ja tehnikad sujuvalt, et luua terviklik Haskelli programm.

Seonduvad postitused:

Jäta kommentaar