Ruby:
แปลงสตริงเป็นตัวเล็ก
วิธีทำ:
# การใช้เมธอด downcase
my_string = "Hello World!"
puts my_string.downcase # => "hello world!"
# การใช้ downcase! สำหรับการเปลี่ยนแปลงภายในที่เกิดขึ้น
my_string = "Hello World!"
my_string.downcase!
puts my_string # => "hello world!"
ดำดิ่งลึก
ตามประวัติศาสตร์, การแปลงตัวพิมพ์เป็นส่วนสำคัญในภาษาโปรแกรมเพื่อให้แน่ใจถึงความเป็นเอกภาพของข้อความ มันรองรับการเปรียบเทียบและการค้นหาที่ไม่คำนึงถึงตัวพิมพ์, ดังนั้นจึงมีความสำคัญ
เมธอด downcase
และ downcase!
ใน Ruby มาจากหลักการของภาษาที่ให้ทั้งเมธอดทำลายและไม่ทำลายสำหรับการจัดการสตริง เมธอดที่ไม่ทำลาย downcase
จะคืนค่าสตริงใหม่ ทิ้งสตริงเดิมไว้, ในขณะที่เมธอดทำลาย downcase!
จะแก้ไขสตริงเดิมโดยตรง ซึ่งสามารถประหยัดหน่วยความจำได้มากขึ้น
มีทางเลือกสำหรับกรณีที่กฎระเบียบที่เฉพาะเจาะจงตามท้องถิ่น การใช้ String#mb_chars
ร่วมกับ ActiveSupport::Multibyte::Chars#downcase
จากไลบรารี Rails ActiveSupport สามารถจัดการกับสถานการณ์ที่ซับซ้อนเช่น ตัวอักษรพร้อมเครื่องหมายวรรคตอนหรือเครื่องหมายอื่น ๆ :
require 'active_support/core_ext/string/multibyte'
my_string = "ÄÖÜ"
puts my_string.mb_chars.downcase # => "äöü"
สำหรับการดำเนินการ, downcase
และ downcase!
ของ Ruby ใช้การแมป Unicode เพื่อแปลงแต่ละตัวอักษรของสตริงให้เป็นตัวเลขที่เทียบเท่ากับตัวพิมพ์เล็ก
ดูเพิ่มเติม
- เอกสารของ Ruby สำหรับ
downcase
และdowncase!
: Ruby Doc downcase, Ruby Doc downcase! - สำหรับการแปลงตัวพิมพ์ที่ซับซ้อน, ดูส่วนเสริมของ ActiveSupport Core: ActiveSupport String