Mae Ruby yn iaith raglennu sy'n adnabyddus am ei symlrwydd a'i phŵer. Un o'r nodweddion mwyaf defnyddiol yn Ruby yw'r dull `gsub`, sy'n caniatáu i ddefnyddwyr amnewid testun yn hawdd. Yn yr erthygl hon, byddwn yn archwilio sut i ddefnyddio `gsub` ar gyfer amnewid string, gan gynnwys enghreifftiau cod a chymwysiadau ymarferol.
Mae `gsub` yn ddull sy'n cael ei ddefnyddio i amnewid pob achos o ddirprwy yn string. Mae'n cymryd dwy ddarn fel ei pharamedrau: y patrwm i'w chwilio amdano a'r testun i'w ddefnyddio fel dirprwy. Mae `gsub` yn gweithio ar stringiau, gan ei gwneud yn hawdd i newid cynnwys testun yn gyflym.
Mae defnyddio `gsub` yn syml. Dyma'r strwythur sylfaenol:
string.gsub(patrwm, dirprwy)
Mae'r patrwm yn gallu bod yn string neu yn regex (patrwm rheolaidd), a gall y dirprwy fod yn string neu'n fethdaliad. Gadewch i ni edrych ar rai enghreifftiau i ddeall yn well sut mae hyn yn gweithio.
Dyma enghraifft syml o ddefnyddio `gsub` i newid enw cwmni:
company_name = "Cwmni Tech" new_name = company_name.gsub("Tech", "Gwybodaeth") puts new_name
Yn yr enghraifft hon, bydd y cod yn argraffu "Cwmni Gwybodaeth". Mae `gsub` wedi newid "Tech" i "Gwybodaeth".
Gallwch hefyd ddefnyddio `gsub` i amnewid llinellau yn string. Dyma enghraifft:
text = "Helo, byd!\nHelo, Ruby!" new_text = text.gsub("Helo", "Shwmae") puts new_text
Yn yr enghraifft hon, bydd y cod yn argraffu:
Shwmae, byd! Shwmae, Ruby!
Mae `gsub` yn cefnogi regex, sy'n caniatáu i chi wneud amnewidiadau mwy cymhleth. Dyma enghraifft sy'n defnyddio regex i amnewid pob rhif yn string:
text_with_numbers = "Mae 2 gath a 3 ci." new_text = text_with_numbers.gsub(/\d/, 'X') puts new_text
Yn yr enghraifft hon, bydd y cod yn argraffu "Mae X gath a X ci." Mae'r regex /\d/ yn chwilio am unrhyw rif, ac mae `gsub` yn ei ddirprwyo gyda 'X'.
Gallwch ddefnyddio `gsub` i amnewid mwy na un patrwm ar yr un pryd. Dyma enghraifft:
text = "Mae'r haul yn disgleirio a'r awyr yn las." new_text = text.gsub("haul", "seren").gsub("las", "gwyrdd") puts new_text
Yn yr enghraifft hon, bydd y cod yn argraffu "Mae'r seren yn disgleirio a'r awyr yn wyrdd." Mae `gsub` wedi newid "haul" i "seren" a "las" i "gwyrdd".
Mae `gsub!` yn fersiwn o `gsub` sy'n newid y string yn lle. Mae'n ddefnyddiol pan fyddwch am wneud newidiadau yn y string gwreiddiol. Dyma enghraifft:
text = "Helo, byd!" text.gsub!("Helo", "Shwmae") puts text
Yn yr enghraifft hon, bydd y cod yn argraffu "Shwmae, byd!" Mae `gsub!` wedi newid y string gwreiddiol yn lle creu copïau newydd.
Gallwch hefyd ddefnyddio `gsub` gyda blokiau i wneud amnewidiadau mwy cymhleth. Dyma enghraifft sy'n defnyddio blok i newid pob llythyren i fawr:
text = "cymraeg" new_text = text.gsub(/[a-z]/) { |match| match.upcase } puts new_text
Yn yr enghraifft hon, bydd y cod yn argraffu "CYMRAEG". Mae'r blok yn newid pob llythyren i fawr.
Gall `gsub` hefyd fod yn ddefnyddiol ar gyfer amnewid cynnwys HTML. Dyma enghraifft sy'n newid tagiau HTML:
html = "Helo, byd!
" new_html = html.gsub("", "
").gsub("", "") puts new_html
Yn yr enghraifft hon, bydd y cod yn argraffu "
i
Mae'r dull `gsub` yn Ruby yn offeryn pwerus ar gyfer amnewid stringiau. Mae'n hawdd ei ddefnyddio, ac mae'n cynnig llawer o opsiynau, gan gynnwys defnyddio regex, amnewid yn lle, a defnyddio blokiau. Mae'n ddefnyddiol ar gyfer amnewid testun, llinellau, a hyd yn oed cynnwys HTML. Gobeithio bod yr erthygl hon wedi rhoi gwybodaeth fanwl i chi am sut i ddefnyddio `gsub` yn Ruby.
Peidiwch ag anghofio ymarfer gyda `gsub` yn eich prosiectau Ruby nesaf, a byddwch yn gweld pa mor ddefnyddiol yw'r dull hwn!
© 2024 RailsInsights. All rights reserved.