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

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