Rails Insights

Pryd i Ddefnyddio any?, all?, none?, a one? yn Ruby

Mae Ruby yn iaith raglennu sy'n cynnig dulliau pwerus ar gyfer gweithio gyda chasgliadau. Un o'r nodweddion mwyaf defnyddiol yw'r dulliau fel any?, all?, none?, a one?. Mae'r dulliau hyn yn caniatáu i chi wneud penderfyniadau yn seiliedig ar y cynnwys o fewn casgliadau fel array neu set. Yn yr erthygl hon, byddwn yn archwilio pryd a sut i ddefnyddio'r dulliau hyn, gan roi enghreifftiau clir i'ch helpu i ddeall eu defnydd.

1. Beth yw any?, all?, none?, a one?

Mae'r dulliau hyn yn rhan o'r clasau Enumerable yn Ruby, sy'n cynnig dulliau i weithio gyda chasgliadau. Mae pob un ohonynt yn gwneud gwaith penodol, ac mae'n bwysig deall y gwahaniaethau rhwng nhw.

  • any?: Mae'r dull hwn yn gwirio a oes unrhyw elfen yn y casgliad sy'n bodloni'r amod a roddwyd. Os oes, mae'n dychwelyd true; os nad oes, mae'n dychwelyd false.
  • all?: Mae all? yn gwirio a yw pob elfen yn y casgliad yn bodloni'r amod. Os yw pob un yn bodloni'r amod, mae'n dychwelyd true; os oes un elfen nad yw'n bodloni'r amod, mae'n dychwelyd false.
  • none?: Mae none? yn gwirio a oes unrhyw elfen yn y casgliad sy'n bodloni'r amod. Os nad oes unrhyw elfen sy'n bodloni'r amod, mae'n dychwelyd true; os oes, mae'n dychwelyd false.
  • one?: Mae one? yn gwirio a oes un ac yn unig un elfen yn y casgliad sy'n bodloni'r amod. Os oes un, mae'n dychwelyd true; os oes dim neu fwy nag un, mae'n dychwelyd false.

2. Defnyddio any?

Mae any? yn ddefnyddiol pan ydych chi am wirio a oes unrhyw elfen yn y casgliad sy'n bodloni'r amod. Dyma enghraifft sy'n dangos sut i ddefnyddio any?:

numbers = [1, 2, 3, 4, 5]

# Gwirio a oes unrhyw rif yn fwy na 3
if numbers.any? { |n| n > 3 }
  puts "Mae yna rif yn fwy na 3."
else
  puts "Nid oes unrhyw rif yn fwy na 3."
end

Yn yr enghraifft hon, bydd y neges "Mae yna rif yn fwy na 3." yn cael ei argraffu, gan fod 4 a 5 yn bodloni'r amod.

Pan i Ddefnyddio any?

Defnyddiwch any? pan:

  • Rydych chi am wirio a oes unrhyw elfen yn bodloni amod penodol.
  • Mae angen i chi wneud penderfyniad yn seiliedig ar bresenoldeb elfen benodol yn y casgliad.

3. Defnyddio all?

Mae all? yn ddefnyddiol pan ydych chi am wirio a yw pob elfen yn y casgliad yn bodloni'r amod. Dyma enghraifft sy'n dangos sut i ddefnyddio all?:

numbers = [2, 4, 6, 8]

# Gwirio a yw pob rif yn hyd
if numbers.all? { |n| n.even? }
  puts "Mae pob rif yn hyd."
else
  puts "Nid yw pob rif yn hyd."
end

Yn yr enghraifft hon, bydd y neges "Mae pob rif yn hyd." yn cael ei argraffu, gan fod pob un o'r rhifau yn hyd.

Pan i Ddefnyddio all?

Defnyddiwch all? pan:

  • Rydych chi am wirio a yw pob elfen yn bodloni amod penodol.
  • Mae angen i chi sicrhau bod pob elfen yn cwrdd â gofynion penodol cyn gwneud penderfyniadau.

4. Defnyddio none?

Mae none? yn ddefnyddiol pan ydych chi am wirio a oes unrhyw elfen yn y casgliad sy'n bodloni'r amod. Dyma enghraifft sy'n dangos sut i ddefnyddio none?:

numbers = [1, 3, 5, 7]

# Gwirio a oes unrhyw rif yn hyd
if numbers.none? { |n| n.even? }
  puts "Nid oes unrhyw rif yn hyd."
else
  puts "Mae yna rif yn hyd."
end

Yn yr enghraifft hon, bydd y neges "Nid oes unrhyw rif yn hyd." yn cael ei argraffu, gan nad oes unrhyw rif hyd yn y casgliad.

Pan i Ddefnyddio none?

Defnyddiwch none? pan:

  • Rydych chi am wirio a oes unrhyw elfen yn bodloni amod penodol.
  • Mae angen i chi sicrhau nad oes unrhyw elfen yn cwrdd â gofynion penodol cyn gwneud penderfyniadau.

5. Defnyddio one?

Mae one? yn ddefnyddiol pan ydych chi am wirio a oes un ac yn unig un elfen yn y casgliad sy'n bodloni'r amod. Dyma enghraifft sy'n dangos sut i ddefnyddio one?:

numbers = [1, 2, 3, 4]

# Gwirio a oes un rif yn hyd
if numbers.one? { |n| n.even? }
  puts "Mae un rif yn hyd."
else
  puts "Nid yw un rif yn hyd."
end

Yn yr enghraifft hon, bydd y neges "Nid yw un rif yn hyd." yn cael ei argraffu, gan fod mwy nag un rif hyd yn y casgliad.

Pan i Ddefnyddio one?

Defnyddiwch one? pan:

  • Rydych chi am wirio a oes un ac yn unig un elfen yn bodloni amod penodol.
  • Mae angen i chi wneud penderfyniad yn seiliedig ar bresenoldeb un elfen benodol yn y casgliad.

6. Crynodeb

Mae any?, all?, none?, a one? yn ddulliau pwerus yn Ruby sy'n eich galluogi i wneud penderfyniadau yn seiliedig ar gynnwys casgliadau. Mae pob un ohonynt yn gwasanaethu ei bwrpas penodol, ac mae'n bwysig deall pryd i'w defnyddio. Trwy ddefnyddio'r dulliau hyn yn gywir, gallwch greu cod mwy effeithlon a chynhwysfawr.

Gobeithio bod yr erthygl hon wedi bod o gymorth i chi ddeall sut i ddefnyddio any?, all?, none?, a one? yn Ruby. Peidiwch ag oedi i archwilio'r dulliau hyn yn eich prosiectau Ruby nesaf!

Published: August 12, 2024

© 2024 RailsInsights. All rights reserved.