ค้นหาความยาวของสตริง

Ruby:
ค้นหาความยาวของสตริง

วิธีการ:

Ruby ทำให้มันเรียบง่ายด้วยเมธอด .length:

greeting = "Hello, world!"
puts greeting.length

ผลลัพธ์:

13

หรือใช้ .size ซึ่งทำงานเหมือนกัน:

greeting = "Hello, world!"
puts greeting.size

ผลลัพธ์:

13

ดำดิ่งลึก

ใน Ruby, .length และ .size สามารถใช้แทนกันได้เมื่อพูดถึงสตริง; พวกเขาให้คุณนับจำนวนอักขระ Ruby โดยประวัติศาสตร์ได้มุ่งเน้นทำให้โค้ดอ่านง่ายขึ้น, นั่นเป็นเหตุผลที่คุณมักจะพบว่ามีมากกว่าหนึ่งวิธีในการทำสิ่งเดียวกัน

ภายในนั้น, แต่ละอักขระในสตริงมีผลต่อขนาดการเก็บข้อมูล ดังนั้นการทราบจำนวนสามารถสำคัญสำหรับการเพิ่มประสิทธิภาพ โดยเฉพาะกับปริมาณข้อความมหาศาล

ในขณะที่ .length และ .size ให้คุณนับจำนวนอักขระ ในบางภาษาและในอดีต ความยาวของสตริงอาจหมายถึงขนาดไบต์ อย่างไรก็ตาม Ruby ที่มีการสนับสนุนอักขระหลายไบต์ผ่าน Unicode ไม่ได้เทียบขนาดไบต์โดยตรงกับความยาวสตริงเนื่องจากอักขระอาจใช้ไบต์มากกว่าหนึ่ง

ตัวเลือกอื่นเช่น .bytesize บอกคุณว่าสตริงใช้ไบต์มากแค่ไหน และ .chars.count ให้คุณจำนวนอักขระโดยการแปลงสตริงเป็นอาร์เรย์ของอักขระก่อน

นี่คือวิธีที่คุณสามารถใช้ .bytesize และ .chars.count:

greeting = "Hello, world!"
puts greeting.bytesize
puts greeting.chars.count

ผลลัพธ์:

13
13

ดูเพิ่มเติม

  • เอกสารประกอบ Ruby เกี่ยวกับ Strings: https://ruby-doc.org/core/String.html
  • บทความบทนำที่ดีเรื่อง Ruby Strings โดย RubyGuides: สำรวจเพิ่มเติมเกี่ยวกับสิ่งที่คุณสามารถทำกับสตริงนอกเหนือจากการวัดขนาดของพวกมัน
  • ตกลงใจสำรวจการเข้ารหัสอักขระและวิธีการที่มีผลต่อการดำเนินการสตริงด้วย บทความนี้จาก Thoughtbot.