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

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

วิธีการ:

นี่คือวิธีที่ง่ายที่สุดในการรับอาร์กิวเมนต์:

use std::env;

fn main() {
    let args: Vec<String> = env::args().collect();
    println!("{:?}", args);
}

รันด้วยคำสั่ง cargo run arg1 arg2 คุณจะเห็น:

["path/to/executable", "arg1", "arg2"]

ตัวเลือกที่เรียบร้อยกว่าด้วยตัวทำซ้ำ:

use std::env;

fn main() {
    for arg in env::args().skip(1) {
        println!("{}", arg);
    }
}

ตอนนี้ลองใช้ cargo run cool stuff:

cool
stuff

ศึกษาเพิ่มเติม

โดยประวัติศาสตร์แล้ว อาร์กิวเมนต์บรรทัดคำสั่งเป็นเรื่องย้อนยุคสมัยที่ GUI ไม่แพร่หลาย ปัจจุบัน มันเหมาะมากสำหรับสคริปต์ เซิร์ฟเวอร์ หรือเครื่องมือ

std::env::args ของ Rust ใช้ตัวทำซ้ำ (iterator) ซึ่งประหยัดหน่วยความจำและทำงานแบบเกียจคร้าน มันยังจัดการกับ Unicode ได้ด้วย มี args_os สำหรับสตริงของระบบปฏิบัติการดิบ

สำหรับการวิเคราะห์ที่ซับซ้อน คลังเช่น clap หรือ structopt สามารถช่วยได้ พวกเขาวิเคราะห์ธง ตัวเลือก และย่อยคำสั่ง

ดูเพิ่มเติมที่