มาพูดถึงวิธีจัดรูปแบบสตริงในทับทิมกันเถอะ
ทำไมคุณถึงต้องการจัดรูปแบบสตริง คุณอาจต้องการทำสิ่งต่างๆ เช่น มีศูนย์นำหน้าแม้ว่าตัวเลขจะต่ำกว่า 10 (เช่น 01, 02, 03…) หรือมีเอาต์พุตคอนโซลบางตัวจัดรูปแบบอย่างสวยงามในคอลัมน์
ในภาษาอื่นๆ คุณสามารถใช้ printf ฟังก์ชั่นเพื่อจัดรูปแบบสตริง และถ้าคุณเคยใช้ C คุณคงคุ้นเคยกับสิ่งนั้น ในการใช้ printf คุณต้องกำหนดรายการตัวระบุรูปแบบและรายการตัวแปรหรือค่า
เริ่มต้นใช้งาน Ruby String Formatting
ในขณะที่ sprintf มีอยู่ใน Ruby ด้วย ในโพสต์นี้เราจะใช้สำนวนมากขึ้น (ด้วยเหตุผลบางอย่างคู่มือสไตล์ชุมชนดูเหมือนจะไม่เห็นด้วยกับเรื่องนี้ แต่ฉันคิดว่ามันโอเค)
นี่คือตัวอย่าง:
time =5message ="การประมวลผลข้อมูลเสร็จสิ้นใน %d วินาที" % [time]ใส่ข้อความ
Output => "Processing of the data has finished in 5 seconds"
ในตัวอย่างนี้ %d เป็น ตัวระบุรูปแบบ (นี่คือรายการของตัวระบุที่มี) และเวลา เป็นตัวแปรที่เราต้องการจัดรูปแบบ รูปแบบ %d จะให้ตัวเลขทั้งหมดแก่เราเท่านั้น
หากเราต้องการแสดงตัวเลขทศนิยม เราจำเป็นต้องใช้ %f . เราสามารถระบุจำนวนตำแหน่งทศนิยมที่เราต้องการดังนี้:%0.2f .
2 นี่แสดงว่าเราต้องการเก็บทศนิยมเพียงสองตำแหน่งเท่านั้น
นี่คือตัวอย่าง:
score =78.5431puts "ค่าเฉลี่ยคือ %0.2f" % [คะแนน]
Output => The average is 78.54
จำไว้ว่าตัวเลขจะถูกปัดขึ้น ตัวอย่างเช่น หากฉันใช้ 78.549
ในตัวอย่างที่แล้ว มันจะพิมพ์ 78.55
.
การแปลงและการเติม
คุณสามารถแปลงเลขฐานสิบและพิมพ์เป็นเลขฐานสิบหกได้ ใช้ %x รูปแบบ:
ใส่ "122 ใน HEX คือ %x" % [122]
Output => 122 in HEX is 7a
การแพดสตริง:
ใช้รูปแบบนี้เพื่อเติมตัวเลขด้วย 0 มากเท่าที่คุณต้องการ:%0<จำนวนศูนย์>d
ใส่ "ตัวเลขคือ %04d" % [20]
Output => The number is 0020
คุณยังสามารถใช้รูปแบบสตริงทับทิม เคล็ดลับในการสร้างคอลัมน์ที่จัดแนวของข้อความ แทนที่ 0 ด้วยเส้นประเพื่อให้ได้เอฟเฟกต์นี้:
หรือคุณสามารถใช้ .ljust และ .rjust
จากคลาส String ให้ทำเช่นเดียวกัน
ตัวอย่าง :
names_with_ages =[["john", 20], ["peter", 30], ["david", 40], ["angel", 24]]names_with_ages.each { |name, age| ใส่ name.ljust(10) + age.to_s }# พิมพ์ tablejohn 20david 30peter 40angel 24 ต่อไปนี้บทสรุป
อย่างที่คุณเห็น การจัดรูปแบบสตริงของ ruby &rails เป็นเรื่องง่ายมาก ทั้งหมดนี้มาจากการทำความเข้าใจเกี่ยวกับตัวระบุรูปแบบต่างๆ ที่มีให้คุณ
ฉันหวังว่าคุณจะสนุกกับการเดินทางสู่โลกแห่งการจัดรูปแบบผลลัพธ์อย่างรวดเร็ว! อย่าลืมสมัครรับจดหมายข่าวของฉัน เพื่อที่ฉันจะได้ส่งเนื้อหาดีๆ ให้คุณ 🙂