การอ่านอาร์กิวเมนต์จากคำสั่งลำดับ

Lua:
การอ่านอาร์กิวเมนต์จากคำสั่งลำดับ

วิธีการ:

นี่คือภาพรวมของวิธีการดึงอาร์กิวเมนต์เหล่านั้นใน Lua:

-- บันทึกนี้เป็น 'greet.lua'
local name = arg[1] -- arg[1] คืออาร์กิวเมนต์บรรทัดคำสั่งตัวแรก
print("Hello, " .. (name or "stranger") .. "!")

เปิดเทอร์มินัลและรันมัน:

$ lua greet.lua LuaLearner
Hello, LuaLearner!

ไม่มีชื่อ? ไม่มีปัญหา:

$ lua greet.lua
Hello, stranger!

ลงลึก

Lua ทำให้มันง่ายดายด้วยตาราง arg โลก. ทั่วไปมาแต่โบราณ (ดี, ตั้งแต่เกิดของ UNIX, อย่างน้อยที่สุด) ผู้คนได้ทำการอ่านอาร์กิวเมนต์บรรทัดคำสั่งในการเขียนโปรแกรม มันเป็นหนึ่งในการปรับแต่งที่สำคัญ

ใน Lua, arg เป็นอาร์เรย์ที่มี argument บรรทัดคำสั่งทั้งหมด arg[0] เป็นชื่อสคริปต์ และ arg[1] ขึ้นไปคือ argument จริงๆ คุณสามารถหยิบมันทั้งหมดขึ้นมาด้วยลูปถ้าคุณรู้สึกว่ามันเก๋ไก๋:

for i = 1, #arg do
  print("Argument " .. i .. ": " .. arg[i])
end

มีทางเลือกอื่นหรือไม่? แน่นอน มีไลบรารี่อยู่ภายนอกสำหรับการแยกวิเคราะห์อาร์กิวเมนต์ที่ซับซ้อน (เช่น Penlight), แต่สำหรับหลายๆ กรณี, arg ทำให้ผลได้อย่างไม่มีปัญหา

เรื่องของรายละเอียดในการใช้งาน, จำไว้ว่าอาร์เรย์ของ Lua เริ่มนับที่ 1 (พวกเขาเริ่มนับที่ 1) ไม่ใช่ 0 เหมือนภาษาอื่นๆ นั้นเป็นเหตุผลว่าทำไม arg[1] เป็นอาร์กิวเมนต์ตัวแรกและไม่ใช่ arg[0]

ดูเพิ่มเติม

สำหรับผู้ที่ต้องการเรียนรู้เพิ่มเติม นี่คือข้อมูลเพิ่มเติม: