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

วิธีใช้ Heredoc ใน Ruby

เอกสารนี้คืออะไร

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

ใช้เพื่อฝังข้อมูลโค้ด เช่น SQL หรือ HTML

นี่คือตัวอย่าง :

query = <<-SQL
SELECT * FROM food
WHERE healthy = true
SQL

คุณใช้ไวยากรณ์นี้เพื่อกำหนดเอกสารที่นี่ ในทับทิม

คุณเริ่มต้นด้วยสัญลักษณ์ <<- จากนั้นเป็นคำที่แสดงถึงชื่อของ heredoc นี้ จากนั้นเป็นเนื้อหา heredoc จากนั้นให้คุณปิด heredoc ด้วยคำบางคำในบรรทัดของตัวเอง

วิธีอื่นในการทำเช่นนี้คือการใช้ %Q :

query = %Q(

  Article about heredocs

)

คุณจะได้รับบรรทัดใหม่พิเศษที่จุดเริ่มต้นและจุดสิ้นสุดของสตริงนี้ เอกสาร (หรือเรียก strip วิธีการ) แก้ปัญหานั้นได้

นี่คือ Ruby heredoc โดยไม่ต้องขึ้นบรรทัดใหม่ :

query = <<-HTML.chomp

  Article about heredocs

HTML

การแก้ไข Ruby Heredoc

หากคุณสงสัยว่าคุณสามารถใช้การแก้ไขสตริงกับ heredoc...

คำตอบคือใช่!

ตัวอย่าง :

type  = "healthy"
table = "food"

query = <<-SQL
SELECT * FROM #{table}
WHERE #{type} = true
SQL

คุณสามารถปิดใช้งานการแก้ไขโดยล้อมรอบชื่อ heredoc ด้วยเครื่องหมายคำพูดเดี่ยว

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

doc = <<-'TIME'
Current time is #{Time.now}
TIME

Ruby Squiggly Heredoc

คุณจะลบการเยื้องพิเศษที่จุดเริ่มต้นของทุกบรรทัดได้อย่างไร

นั่นคือสิ่งที่เอกสารแนบท้าย มีไว้สำหรับ

แนะนำใน Ruby 2.3 เอกสาร heredoc หยักจะลบการเยื้องเพิ่มเติมสำหรับคุณ

ตัวอย่าง :

page = <<-HTML
  Heredocs are cool & useful
HTML

# "  Heredocs are cool & useful\n"

page = <<~HTML
  Heredocs are cool & useful
HTML

# "Heredocs are cool & useful\n"

page = <<~HTML.strip
  Heredocs are cool & useful
HTML

# "Heredocs are cool & useful"

ตอนนี้คุณสามารถเก็บช่องว่างเพิ่มเติมเพื่อให้อ่านง่าย

ขณะปล่อยทิ้งไว้ในสายจริง!

สรุป

คุณได้เรียนรู้วิธีใช้ heredocs ใน Ruby เพื่อฝังสตริงหลายบรรทัดในโค้ดของคุณแล้ว ซึ่งจะเป็นประโยชน์สำหรับการเขียนการทดสอบโค้ดของคุณ หรือมีข้อมูลเพียงเล็กน้อยโดยไม่ต้องอ่านไฟล์

ขอบคุณสำหรับการอ่าน!