Rails Insights

Defnyddio `chomp` a `gets` yn Ruby

Mae Ruby yn iaith raglennu sy'n hawdd ei dysgu ac yn cynnig llawer o nodweddion defnyddiol. Un o'r pethau pwysicaf y gallwn eu gwneud yn Ruby yw derbyn mewnbwn gan y defnyddiwr. Mae'r dulliau `gets` a `chomp` yn hanfodol ar gyfer y broses hon. Yn yr erthygl hon, byddwn yn archwilio sut i ddefnyddio `gets` i dderbyn mewnbwn gan y defnyddiwr, a sut i ddefnyddio `chomp` i lanhau'r mewnbwn hwnnw. Byddwn hefyd yn edrych ar rai enghreifftiau a chymwysiadau ymarferol.

Beth yw `gets`?

Mae `gets` yn ddull yn Ruby sy'n derbyn mewnbwn gan y defnyddiwr o'r gornel gorchymyn. Pan fyddwch yn galw `gets`, bydd y rhaglen yn aros nes i'r defnyddiwr deipio rhywbeth a phwyso Enter. Mae'r mewnbwn a dderbynnir yn cael ei ddychwelyd fel cadwyn o nodau (string), gan gynnwys unrhyw linellau newydd (newline characters) ar ddiwedd y mewnbwn.

Enghraifft o ddefnyddio `gets`

Dyma enghraifft syml o ddefnyddio `gets` i dderbyn enw gan y defnyddiwr:

puts "Beth yw dy enw?"
enw = gets
puts "Helo, #{enw}!"

Yn yr enghraifft hon, bydd y rhaglen yn gofyn i'r defnyddiwr roi ei enw, ac yna bydd yn ei groesawu. Fodd bynnag, bydd y neges a dderbynnir yn cynnwys linell newydd ar ddiwedd y cadwyn, sy'n gallu achosi problemau wrth ei ddefnyddio yn nes ymlaen.

Beth yw `chomp`?

Mae `chomp` yn ddull sy'n cael ei ddefnyddio i ddileu'r linell newydd ar ddiwedd cadwyn. Mae'n ddefnyddiol iawn pan fyddwch yn derbyn mewnbwn gan y defnyddiwr, gan ei fod yn sicrhau nad yw'r linell newydd yn achosi problemau wrth brosesu'r data.

Sut i ddefnyddio `chomp`

Gallwch ddefnyddio `chomp` ar unrhyw gadwyn i ddileu'r linell newydd. Dyma sut y gallwn ei ddefnyddio gyda `gets`:

puts "Beth yw dy enw?"
enw = gets.chomp
puts "Helo, #{enw}!"

Yn yr enghraifft hon, rydym yn defnyddio `chomp` ar y cadwyn a dderbynnir gan `gets`, sy'n sicrhau nad yw'r linell newydd yn cael ei chynnwys yn y neges groeso.

Pam ddefnyddio `chomp` gyda `gets`?

Mae yna sawl rheswm pam y dylech ddefnyddio `chomp` gyda `gets`:

  • Cadw'r data'n glân: Mae `chomp` yn dileu unrhyw linellau newydd, gan sicrhau bod y data a dderbynnir yn glân ac yn hawdd ei brosesu.
  • Osgoi problemau: Gall linellau newydd achosi problemau wrth gymhwyso gweithrediadau ar y data, fel cymharu neu ei ddangos.
  • Gwell profiad i'r defnyddiwr: Mae'n gwneud y rhaglen yn ymddangos yn fwy proffesiynol, gan nad yw'n cynnwys unrhyw linellau newydd diangen yn y negesau.

Enghreifftiau ymarferol

Mae yna lawer o gymwysiadau ymarferol ar gyfer `gets` a `chomp`. Dyma rai enghreifftiau:

1. Derbyn a phrosesu data gan y defnyddiwr

Gallwch ddefnyddio `gets` a `chomp` i dderbyn data gan y defnyddiwr a'i brosesu. Dyma enghraifft sy'n gofyn am nifer a'i chynyddu:

puts "Rhowch rif:"
rif = gets.chomp.to_i
puts "Mae'r rif wedi cynyddu i: #{rif + 1}"

2. Creu rhestr o enwau

Gallwch ddefnyddio `gets` a `chomp` i greu rhestr o enwau. Dyma enghraifft sy'n derbyn sawl enw a'u harddangos:

enwau = []

loop do
  puts "Rhowch enw (neu 'stop' i orffen):"
  enw = gets.chomp
  break if enw.downcase == 'stop'
  enwau << enw
end

puts "Y enwau a dderbyniwyd yw: #{enwau.join(', ')}"

3. Gofyn cwestiynau a derbyn atebion

Gallwch ddefnyddio `gets` a `chomp` i ofyn cwestiynau a derbyn atebion gan y defnyddiwr. Dyma enghraifft sy'n gofyn am gwestiwn a'i ateb:

puts "Beth yw prif ddinas Cymru?"
ateb = gets.chomp

if ateb.downcase == "caerdydd"
  puts "Cwbl iawn! Mae Caerdydd yn brif ddinas Cymru."
else
  puts "Dydy hynny ddim yn gywir. Mae prif ddinas Cymru yn Caerdydd."
end

Casgliad

Mae `gets` a `chomp` yn ddulliau pwysig yn Ruby ar gyfer derbyn a phrosesu mewnbwn gan y defnyddiwr. Mae defnyddio `chomp` gyda `gets` yn sicrhau bod y data a dderbynnir yn glân ac yn hawdd ei brosesu, gan osgoi problemau sy'n gysylltiedig â linellau newydd. Mae'r enghreifftiau a drafodwyd yn yr erthygl hon yn dangos sut y gallwn ddefnyddio'r ddau ddull i greu rhaglenni mwy defnyddiol a chydweithredol. Mae Ruby yn cynnig llawer o gyfleoedd i ddysgu a datblygu, ac mae'r dulliau hyn yn gam cyntaf da i unrhyw un sy'n dechrau gyda'r iaith.

Published: August 13, 2024

© 2024 RailsInsights. All rights reserved.