Rails Insights

Y Gwahaniaeth rhwng `puts` a `print` yn Ruby

Mae Ruby yn iaith raglennu sy'n adnabyddus am ei symlrwydd a'i chreadigrwydd. Un o'r pethau cyntaf y byddwch yn eu dysgu wrth ddechrau gyda Ruby yw sut i ddangos negeseuon ar y sgrin. Mae dwy ffordd benodol o wneud hyn: `puts` a `print`. Er bod y ddwy yn ymddangos yn debyg, maent yn gweithredu'n wahanol. Yn yr erthygl hon, byddwn yn archwilio'r gwahaniaethau rhwng y ddwy, gan roi enghreifftiau a chyd-destun i'w defnyddio.

Beth yw `puts`?

Mae `puts` yn swyddogaeth sy'n cael ei defnyddio i argraffu testun ar y sgrin, gan ychwanegu llinell newydd ar ddiwedd y neges. Mae hyn yn golygu, ar ôl i chi ddefnyddio `puts`, bydd y cwrs yn symud i'r llinell nesaf. Mae hyn yn ddefnyddiol pan fyddwch am sicrhau bod pob neges yn dechrau ar linell newydd.

Enghraifft o `puts`

puts "Helo, byd!"
puts "Mae hyn yn neges arall."

Pan fyddwch yn rhedeg y cod uchod, bydd y canlyniad yn edrych fel hyn:

Helo, byd!
Mae hyn yn neges arall.

Fel y gallwch ei weld, mae pob neges yn dechrau ar linell newydd oherwydd bod `puts` yn ychwanegu llinell newydd ar ddiwedd y neges.

Beth yw `print`?

Ar y llaw arall, mae `print` yn swyddogaeth sy'n argraffu testun ar y sgrin heb ychwanegu llinell newydd ar ddiwedd y neges. Mae hyn yn golygu y gallwch barhau i argraffu negeseuon ar yr un llinell, gan greu canlyniadau mwy cyffrous a chreadigol.

Enghraifft o `print`

print "Helo, byd! "
print "Mae hyn yn neges arall."

Pan fyddwch yn rhedeg y cod uchod, bydd y canlyniad yn edrych fel hyn:

Helo, byd! Mae hyn yn neges arall.

Fel y gallwch ei weld, mae'r ddwy neges wedi'u harddangos ar yr un llinell oherwydd nad yw `print` yn ychwanegu llinell newydd.

Y Gwahaniaethau Allweddol

Mae'r gwahaniaethau rhwng `puts` a `print` yn syml, ond maent yn bwysig i'w deall wrth ysgrifennu cod Ruby. Dyma'r prif wahaniaethau:

  • Ychwanegu Llinell Newydd: Mae `puts` yn ychwanegu llinell newydd ar ddiwedd y neges, tra bod `print` yn ei gwneud yn ddim.
  • Defnydd: Mae `puts` yn fwy addas ar gyfer argraffu negeseuon sy'n gofyn am linellau newydd, tra bod `print` yn ddefnyddiol pan fyddwch am gadw'r testun ar yr un llinell.
  • Perfformiad: Mae `puts` yn ysgafnach na `print` oherwydd ei fod yn ychwanegu llinell newydd, sy'n golygu y gall gymryd ychydig yn hirach i'w weithredu.

Pryd i Ddefnyddio `puts` a `print`?

Mae dewis rhwng `puts` a `print` yn dibynnu ar y cyd-destun a'r canlyniad a ddymunwch ei gyflawni. Dyma rai awgrymiadau ar sut i ddewis:

  • Defnyddiwch `puts`: Pan fyddwch am argraffu negeseuon sy'n gofyn am linellau newydd, fel pan fyddwch yn dangos gwybodaeth i'r defnyddiwr neu'n creu adroddiadau.
  • Defnyddiwch `print`: Pan fyddwch am greu testun sy'n parhau ar yr un llinell, fel pan fyddwch yn dangos cyfrif neu'n creu neges sy'n ymateb yn gyflym.

Enghreifftiau Ymarferol

Dyma rai enghreifftiau ymarferol sy'n dangos sut i ddefnyddio `puts` a `print` yn Ruby:

Enw a Chyfrif

print "Rhowch eich enw: "
enw = gets.chomp
puts "Helo, #{enw}!"

Yn yr enghraifft hon, rydym yn defnyddio `print` i ofyn am enw'r defnyddiwr ar yr un llinell, ac yna rydym yn defnyddio `puts` i ddangos neges groeso gyda llinell newydd.

Cyfrif i 5

print "Cyfrif i 5: "
(1..5).each do |i|
  print "#{i} "
end
puts

Yn yr enghraifft hon, rydym yn defnyddio `print` i gyfrif i 5 ar yr un llinell, ac yna rydym yn defnyddio `puts` i ychwanegu llinell newydd ar ddiwedd y cyfrif.

Casgliad

Mae `puts` a `print` yn ddwy swyddogaeth bwysig yn Ruby sy'n eich galluogi i ddangos negeseuon ar y sgrin. Mae'r prif wahaniaeth rhwng y ddwy yn y ffordd y maent yn trin llinellau newydd. Mae dewis rhwng y ddwy yn dibynnu ar y cyd-destun a'r canlyniad a ddymunwch ei gyflawni. Wrth i chi barhau i ddysgu Ruby, byddwch yn dod i ddeall pan i ddefnyddio pob un ohonynt yn effeithiol.

Gobeithio bod yr erthygl hon wedi bod yn ddefnyddiol ac wedi rhoi gwybodaeth fanwl am y gwahaniaethau rhwng `puts` a `print`. Peidiwch ag oedi i archwilio a phrofi'r ddwy swyddogaeth yn eich cod Ruby eich hun!

Published: August 12, 2024

© 2024 RailsInsights. All rights reserved.