Lua:
แปลงสตริงเป็นตัวเล็ก
วิธีการ:
ใน Lua, คุณจะลดภาระของตัวเองด้วย string.lower()
. ป้อนสตริงเข้าไป, และจะได้สตริงตัวพิมพ์เล็กออกมา สังเกตดู:
local originalString = "Hello, World!"
local lowerCaseString = string.lower(originalString)
print(lowerCaseString) -- ผลลัพธ์: hello, world!
รันตัวอย่างนี้สิ ตัวพิมพ์ใหญ่ที่ดังกล่าวกลายเป็นตัวพิมพ์เล็กที่มีระดับเสียงเบาลง
ลึกลงไป
ตั้งแต่ยุคแรกของการคอมพิวติ้ง, ทุกคนต้องการทำให้ข้อมูลข้อความมีลักษณะเป็นเนื้อเดียวกันเพื่อเหตุผลต่างๆ มากมาย, เช่น การเรียงลำดับหรือการเข้าสู่ระบบที่ไม่คำนึงถึงตัวพิมพ์ เมื่อพูดถึง Lua, string.lower()
ถูกใช้งานเป็นเครื่องมือหลักตั้งแต่เริ่มต้น มันเรียบง่าย, เป็นส่วนหนึ่งของระบบ, และทำงานได้โดยไม่มีปัญหา
แต่มีอะไรอยู่ภายใต้ฝา? string.lower()
ทำงานเดินผ่านแต่ละตัวอักษร, และถ้าเป็นตัวพิมพ์ใหญ่ (A ถึง Z), มันจะแปลงมัน Lua พึ่งพาค่า ASCII: ‘A’ (65) ถึง ‘Z’ (90) จะถูกเพิ่มไปเป็น ‘a’ (97) ถึง ‘z’ (122) ความแตกต่างคือ 32 ดังนั้น, lowercase = uppercase + 32
แล้วถ้า string.lower()
ดูเหมือนจะธรรมดาเกินไป? คุณอาจดำเนินการเปลี่ยนผ่านตัวอักษรด้วยตนเองโดยการใช้ลูป, โดยใช้ค่า ASCII, หรือการจับคู่แบบพาลินโดรมด้วย string.gsub()
:
local s = "Make Me Lowercase, Please"
s = s:gsub("%u", function (upper) return string.char(upper:byte() + 32) end)
print(s) -- ผลลัพธ์: make me lowercase, please
แต่จริงๆ แล้ว, ทำไมต้องใช้เสียงพายเรือเมื่อคุณมีเครื่องยนต์ภายนอก (อ่านว่า: string.lower()
)?
ดูเพิ่มเติม
ขุดลึกลงไปในการจัดการข้อความของ Lua ด้วยสิ่งที่ดีๆ เหล่านี้:
- Programming in Lua (ฉบับที่ 4) เพื่อเจาะลึกรายละเอียดของข้อความ
- Lua 5.4 Reference Manual เพื่อฟังก์ชั่นการจัดการสตริงที่เมื่อคุณพร้อมที่จะไปเลยไกลกว่าตัวพิมพ์เล็ก