Swift:
การอ่านอาร์กิวเมนต์จากคำสั่งลำดับ
วิธีการ:
Swift ทำให้การอ่านอาร์กิวเมนต์บนบรรทัดคำสั่งเป็นเรื่องง่ายมาก สามารถเข้าถึงได้ผ่านโครงสร้าง CommandLine
นี่คือสาระสำคัญ:
for argument in CommandLine.arguments {
print(argument)
}
หากคุณใส่โค้ดนี้เข้าไปในไฟล์ main.swift
และรันโปรแกรมของคุณพร้อมกับข้อความเพิ่มเติม เช่น swift run YourProgram foo bar
, ผลลัพธ์ของคุณจะดูเป็นแบบนี้:
/path/to/YourProgram
foo
bar
นั่นหมายถึงการพิมพ์อาร์กิวเมนต์ทุกรายการออกมา รวมถึงทางที่อยู่ของโปรแกรมของคุณเป็นองค์ประกอบแรก – ต้องจำเสมอไว้!
การศึกษาลึก
ในอดีต อาร์กิวเมนต์บนบรรทัดคำสั่งได้เป็นส่วนสำคัญในการเขียนโปรแกรม ช่วยให้ผู้คนสามารถปรับแต่งพฤติกรรมของโปรแกรมโดยไม่ต้องเปลี่ยนแปลงโค้ด มันคือมรดกของ Unix และเกือบทุกภาษาสนับสนุนฟีเจอร์นี้
ใน Swift, CommandLine.arguments
เป็นอาร์เรย์ของสตริงที่มีแต่ละองค์ประกอบเป็นส่วนย่อยของข้อมูลนำเข้าของคุณ แยกโดยช่องว่าง อาร์เรย์นี้ถูกส่งมอบโดยระบบปฏิบัติการเมื่อโปรแกรมของคุณเริ่มทำงาน; Swift ทำให้มันง่ายต่อการเข้าถึง
นอกจาก CommandLine.arguments
, คุณอาจจะได้พบกับการแยกวิเคราะห์ที่ซับซ้อนยิ่งขึ้นกับไลบรารี่เช่น Swift Argument Parser
สำหรับงานที่หนักกว่านี้ นี่คือสิ่งที่มีประโยชน์เมื่อคุณต้องการสิ่งที่เกินกว่าแค่อินพุตง่ายๆ – คิดถึงธง, ตัวเลือก และคำสั่งย่อย
ในเชิงการดำเนินการ,อาร์กิวเมนต์บนบรรทัดคำสั่งเหล่านั้นมาถึงคุณผ่านอาร์เรย์ C ในเบื้องหลัง – อาร์กิวเมนต์จำนวน (argc
) และอาร์กิวเมนต์ศูนย์อาร์กิว (argv
) ในภาษาดี Swift ซ่อนอาร์เรย์ C แต่ยังคงรักษาพฤติกรรมพื้นฐานเดียวกันที่คุณจะพบใน C หรือ C++
ดูเพิ่มเติม
- สำหรับมุมมองที่กว้างขวางเกี่ยวกับโปรแกรมบนบรรทัดคำสั่งใน Swift, ตรวจสอบที่ เอกสาร Swift.org.
- หากต้องการประสิทธิภาพการวิเคราะห์อาร์กิวเมนต์ของคุณ, ไปดูที่ รีพอสิทอรี GitHub ของ Swift Argument Parser สำหรับการตั้งค่าที่ซับซ้อนมากขึ้น
- หากคุณสนใจว่าภาษาอื่นจัดการกับเรื่องนี้อย่างไร, ลองเปรียบเทียบกับ
sys.argv
ของ Python หรือprocess.argv
ของ Node