Rails Insights

Meistroli'r Datganiad Case yn Ruby

Mae Ruby yn iaith raglennu sy'n adnabyddus am ei symlrwydd a'i harddwch. Un o'r nodweddion pwysig sy'n ei gwneud hi'n hawdd i ddatblygu cod clir a chydlynol yw'r datganiad case. Yn yr erthygl hon, byddwn yn archwilio sut i ddefnyddio'r datganiad case yn Ruby, gan ei wneud yn hawdd i chi ei ddeall a'i ddefnyddio yn eich prosiectau.

Beth yw Datganiad Case?

Mae'r datganiad case yn ffordd o wneud penderfyniadau yn Ruby. Mae'n caniatáu i chi gymharu gwerth penodol â nifer o ddewisiadau, gan wneud y cod yn haws i'w ddarllen a'i gynnal. Mae'n debyg i'r datganiad if, ond mae'n fwy effeithlon pan fydd gennych sawl amod i'w hystyried.

Strwythur y Datganiad Case

Mae'r strwythur sylfaenol ar gyfer datganiad case yn Ruby fel a ganlyn:

case 
when 
  # cod i'w weithredu pan fydd  yn cyfateb i 
when 
  # cod i'w weithredu pan fydd  yn cyfateb i 
else
  # cod i'w weithredu os nad yw  yn cyfateb i unrhyw un o'r gwerthoedd
end

Mae'r datganiad case yn dechrau gyda'r gair 'case', yn dilyn gwerth y byddwch chi'n ei gymharu. Mae pob 'when' yn cynrychioli gwerth y gallai'r newidyn fod, a'r 'else' yn cynnig opsiwn os nad yw'r gwerth yn cyfateb i unrhyw un o'r 'when'.

Enghraifft Sylfaenol o Ddatganiad Case

Gadewch i ni edrych ar enghraifft syml o sut i ddefnyddio datganiad case i benderfynu ar y diwrnod o'r wythnos:

diwrnod = "Dydd Llun"

case diwrnod
when "Dydd Llun"
  puts "Mae'n ddechrau'r wythnos!"
when "Dydd Gwener"
  puts "Mae'n ddiwrnod penblwydd!"
else
  puts "Mae'n ddiwrnod arall."
end

Yn yr enghraifft hon, os yw'r newidyn 'diwrnod' yn cyfateb i "Dydd Llun", bydd y neges "Mae'n ddechrau'r wythnos!" yn cael ei argraffu. Os yw'n "Dydd Gwener", bydd y neges "Mae'n ddiwrnod penblwydd!" yn cael ei argraffu. Os nad yw'n cyfateb i unrhyw un o'r gwerthoedd, bydd "Mae'n ddiwrnod arall." yn cael ei argraffu.

Defnyddio Datganiad Case gyda Nifer o Werthoedd

Gallwch hefyd ddefnyddio datganiad case i wirio am sawl gwerth ar yr un pryd. Dyma enghraifft sy'n dangos sut i wneud hynny:

cynnyrch = "afal"

case cynnyrch
when "afal", "bananau", "grawnffrwyth"
  puts "Mae hwn yn ffrwyth!"
when "cennin", "moron"
  puts "Mae hwn yn llysieuyn!"
else
  puts "Nid wyf yn siŵr beth yw hwn."
end

Yn yr enghraifft hon, os yw 'cynnyrch' yn "afal", "bananau", neu "grawnffrwyth", bydd y neges "Mae hwn yn ffrwyth!" yn cael ei argraffu. Os yw'n "cennin" neu "moron", bydd y neges "Mae hwn yn llysieuyn!" yn cael ei argraffu. Os nad yw'n cyfateb i unrhyw un o'r gwerthoedd, bydd "Nid wyf yn siŵr beth yw hwn." yn cael ei argraffu.

Defnyddio Datganiad Case gyda Gwerthoedd Amgen

Gallwch hefyd ddefnyddio datganiad case i gymharu gwerthoedd amgen, fel rhifau neu eitemau yn y rhestr. Dyma enghraifft sy'n dangos sut i wneud hynny:

nifer = 3

case nifer
when 1
  puts "Un"
when 2
  puts "Dau"
when 3
  puts "Tri"
else
  puts "Nid wyf yn siŵr."
end

Yn yr enghraifft hon, os yw 'nifer' yn 3, bydd y neges "Tri" yn cael ei argraffu. Mae'r datganiad case yn caniatáu i chi ddelio â phenderfyniadau yn hawdd a chydlynol.

Defnyddio Datganiad Case gyda Gweithrediadau

Gallwch hefyd ddefnyddio datganiad case i wneud gweithrediadau mwy cymhleth. Dyma enghraifft sy'n dangos sut i ddefnyddio datganiad case i gyfrifo'r swm o arian yn seiliedig ar y math o ddirprwy:

dirprwy = "gold"

case dirprwy
when "silver"
  swm = 100
when "gold"
  swm = 200
when "platinum"
  swm = 300
else
  swm = 0
end

puts "Y swm yw #{swm}."

Yn yr enghraifft hon, os yw 'dirprwy' yn "gold", bydd y swm yn cael ei osod i 200. Mae'r datganiad case yn caniatáu i chi wneud penderfyniadau yn seiliedig ar amodau penodol, gan wneud y cod yn haws i'w ddeall.

Gwerthoedd Amgen a Chymharu

Mae datganiad case yn Ruby hefyd yn cefnogi cymharu gwerthoedd amgen. Dyma enghraifft sy'n dangos sut i gymharu gwerthoedd gyda gweithrediadau:

nifer = 10

case
when nifer < 5
  puts "Mae'n llai na 5."
when nifer < 10
  puts "Mae'n llai na 10."
when nifer < 15
  puts "Mae'n llai na 15."
else
  puts "Mae'n 15 neu fwy."
end

Yn yr enghraifft hon, bydd y datganiad case yn gwirio'r gwerth o 'nifer' heb ei benodi'n benodol. Mae'n caniatáu i chi wneud penderfyniadau yn seiliedig ar amodau mwy cymhleth.

Casgliad

Mae'r datganiad case yn Ruby yn offeryn pwerus sy'n caniatáu i chi wneud penderfyniadau yn hawdd a chydlynol. Mae'n cynnig dull syml o gymharu gwerthoedd a gwneud penderfyniadau yn seiliedig ar y canlyniadau. Trwy ddefnyddio'r datganiad case, gallwch greu cod sy'n hawdd i'w ddarllen a'i gynnal, gan wneud eich prosiectau Ruby yn fwy effeithlon.

Gobeithio bod yr erthygl hon wedi rhoi gwybodaeth fanwl i chi am feistroli'r datganiad case yn Ruby. Peidiwch ag oedi i roi cynnig arno yn eich prosiectau a gweld sut y gall wella eich cod!

Published: August 12, 2024

© 2024 RailsInsights. All rights reserved.