เอกสารนี้คืออะไร
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 เพื่อฝังสตริงหลายบรรทัดในโค้ดของคุณแล้ว ซึ่งจะเป็นประโยชน์สำหรับการเขียนการทดสอบโค้ดของคุณ หรือมีข้อมูลเพียงเล็กน้อยโดยไม่ต้องอ่านไฟล์
ขอบคุณสำหรับการอ่าน!