Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Ruby

การทำความเข้าใจความแตกต่างระหว่าง Puts, Print &P

มีหลายวิธีในการพิมพ์บางสิ่งใน Ruby

นี่คือสิ่งที่มีประโยชน์มากที่สุด :

  • วาง
  • พิมพ์
  • p

แต่สิ่งเหล่านี้แตกต่างกันอย่างไร

และเมื่อใดที่คุณควรใช้อย่างใดอย่างหนึ่ง ?

นั่นคือสิ่งที่คุณจะได้เรียนรู้ในบทความนี้!

วิธีการพิมพ์โดยไม่ต้องขึ้นบรรทัดใหม่

เมื่อต้องการพิมพ์บางอย่างบนหน้าจอให้ผู้ใช้ดู ปกติคุณใช้ puts .

ถูกใจสิ่งนี้ :

puts "Hello there!"

ใส่บรรทัดใหม่ที่ท้ายข้อความของคุณโดยอัตโนมัติทุกครั้งที่ใช้

หากคุณไม่ต้องการขึ้นบรรทัดใหม่ ให้ใช้ print .

ตัวอย่าง :

print 123

ครั้งต่อไปที่คุณ พิมพ์ บางอย่างจะเป็นบรรทัดเดียวกับข้อความสุดท้ายของคุณ

ตัวอย่าง :

print 123
print 456
print 789

123456789

แต่ถ้าคุณใช้การพุท :

puts 123
puts 456
puts 789

123
456
789

ทุกข้อความมีบรรทัดของตัวเอง!

ทำให้ยังปฏิบัติต่ออาร์เรย์ในลักษณะที่ต่างออกไป

ตัวอย่าง :

puts [1,2]
1
2

print [1,2]
[1,2]

นี่คือความแตกต่างอีกประการหนึ่ง :

พยายามแปลงทุกอย่างให้เป็นสตริง (โดยการเรียก to_s )

เหตุใดจึงสำคัญ

เพราะถ้าคุณกำลังพยายาม ใส่ อาร์เรย์ที่มีค่าเป็นศูนย์…

มันจะแสดงบรรทัดว่าง!

ตัวอย่าง :

puts [1,nil,nil,2]
1


2

สรุป ใส่ &พิมพ์ :

  • แปลงสิ่งต่าง ๆ เป็นสตริง แม้ว่าจะหมายถึงสตริงว่างก็ตาม

เฉพาะ ใส่ :

  • เพิ่มบรรทัดใหม่ต่อท้ายข้อความของคุณ
  • แสดงองค์ประกอบอาร์เรย์หนึ่งบรรทัดต่อบรรทัด

ดีบักเอาต์พุตด้วย P

แล้ว put vs p ล่ะ?

p เป็นวิธีการที่แสดงวัตถุเวอร์ชัน "ดิบ" มากขึ้น

ตัวอย่างเช่น :

> puts "Ruby Is Cool"
Ruby Is Cool

> p "Ruby Is Cool"
"Ruby Is Cool"

p คืออะไร p มีประโยชน์สำหรับ?

กำลังแก้จุดบกพร่อง

เมื่อคุณกำลังมองหาสิ่งต่างๆ เช่น (ปกติจะมองไม่เห็น) อักขระขึ้นบรรทัดใหม่ หรือคุณต้องการให้แน่ใจว่าค่าบางอย่างถูกต้อง ให้ใช้ p .

ความแตกต่างอีกอย่างหนึ่ง :

  • ทำให้คืนค่าเป็นศูนย์เสมอ
  • p ส่งคืนวัตถุที่คุณส่งไป

นี่เป็นข้อแตกต่างทางเทคนิค…

แต่มันอาจปรากฏขึ้นหากคุณพยายาม วาง ตัวแปรเป็นบรรทัดสุดท้ายของเมธอด และคุณกำลังใช้ค่าส่งคืนของเมธอดนั้น

ตัวอย่าง :

def numbers
  puts 123
end

numbers
# nil

ในตัวอย่างนี้ ตัวเลข วิธีจะแสดง 123 บนหน้าจอ แต่ค่าที่ส่งคืนจะเป็น ไม่มี .

ถ้าคุณลอง :

result = numbers

แล้ว ผลลัพธ์ จะ ไม่มี , แทนที่จะเป็น 123.

แต่ถ้าคุณใช้ p แล้วมันจะได้ผล

พิมพ์สวย

Ruby ยังมีวิธีการพิมพ์แบบอื่น

เรียกว่า pp .

นี่เหมือน p แต่จะพิมพ์ hashes &arrays ขนาดใหญ่ด้วยวิธีที่ดีกว่า

โปรดทราบว่า Ruby เวอร์ชันเก่า (ก่อน 2.4) ต้องทำ require 'pp' เพื่อเข้าถึงวิธีนี้

วิดีโอสอน

สรุป

คุณได้เรียนรู้ความแตกต่างระหว่าง puts, print &p ใน Ruby!

การทำความเข้าใจความแตกต่างระหว่าง Puts, Print &P

ตอนนี้เป็นเวลาเวลาฝึกซ้อม .

หากคุณฝึกฝนสิ่งใหม่ทันที คุณจะรวมข้อมูลนี้เข้ากับฐานความรู้ของคุณ ถ้าคุณไม่ฝึกฝน คุณจะลืมและคุณจะไม่ก้าวหน้า