Rust 1 7 0 處理命令列引數

2021-09-07 13:51:15 字數 2071 閱讀 3480

std是 rust 標準函式庫;

env 模組提供了處理環境函式。

在使用標準函式庫的時候,使用 use 匯入對應的 module 。

一、直接輸出

use std:

:env;

fn main()", argument);

}}

$cargo run  12 and 78
running `target/debug/attribute_test 12 and 78`

*** args = target/debug/attribute_test

*** args = 12

*** args = and

*** args = 78

二、儲存並輸出

改動:

$vi src/main.rs
**:

use std::env;

fn main()

for a in

arguments", a);

}}

vec 是乙個可增長的list資料型別,提供push 和pop 資料操作。

通過 arguments.push( ) 操作將命令列引數儲存到 arguments中。

$cargo run  12 and 78
running `target/debug/attribute_test 12 and 78`

*** args = target/debug/attribute_test

*** args = 12

*** args = and

*** args = 78

三、計算

改動:

$vi src/main.rs
**:

use std::env;

use std::str::fromstr;

fnmain()

let first:i32 = i32::from_str(&arguments[1]).expect("error parsing argument");

let second:i32 = i32::from_str(&arguments[2]).expect("error parsing argument");

let result = add(first,second);

println!("*** value = {}",result);}fn

add(x:i32,y:i32)-> i32

#[test]

fntest_add()

執行測試:

$cargo test
running target/debug/attribute_test-431700a6ad4b39fd

running 1 test

test test_add ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured

執行:

$cargo run 12 34
running `target/debug/attribute_test 1234`

*** value = 46

解釋一下:

* 從命令列獲取的引數都是 string 型別。

* arguments中的第乙個值是當前程式的名稱。因此計算引數從arguments[1]和arguments[2]取;

* 在引數相加之前。使用 from_str 將字元轉換為32位整型;

* 使用 use std::str::fromstr 引入 from_str 功能函式;

* from_str 返回的值是乙個 result 值,代表轉換是否成功。通過result的 expect 功能函式能夠在出現錯誤的時候提示;假設沒有錯誤返回正確的32位整型值。

python小例子之2 處理命令列引數

主題 處理命令列引數 環境 winxp pro sp2 python2.5 備註 請注意,凡是在源 檔案中使用了中文字元,請最好儲存為utf 8格式 python callarg.py import sys 如果命令列下沒有敲入選項引數,就提示使用者 大家注意,sys.argv的第乙個值是命令本身 ...

MFC學習筆記(二)處理命令列選項

目標 讓應用程式處理這裡所見的命令列標誌。exe c d 策略乙個mfc應用程式可以用ccommandlineinfo類的成員函式parseparam 處理一些標準標 志。要新增我們自己的標誌,而仍然能夠支援另外一些標誌,我們將從ccommandlineinfo派 生類,然後過載parseparam...

命令列引數處理

url url include include include include include struct student optsting是選項引數組成的字串,字元後跟乙個冒號,表明該選項要求有引數。static const char optstring i n h?option結構稱為長選項表...