OCaml

2016-03-28 18 views
1

parametresinde Arg.parse parametrelerini doğrulayın Şu anda iki parametreyi (her ikisi de bir labirentin yüksekliğinden ve genişliğinden tamsayılar) geçirip geçirmediğimi kontrol edebiliyorum ve bunlardan önce bayraklar eklemek istiyorum, sırasıyla -r (for satırlar) ve -c (sütunlar için).OCaml

Here'e Ne var bugüne kadar:

let usage = "[Usage]:\t./step -r height -c width" 

let row = ref "-r" 
let column = ref "-c" 
let height = ref (-1) 
let width = ref (-1) 

let main() = 
    begin 
    Arg.parse [] (fun i -> 
     if !height < 0 
     then height := (int_of_string i) 
     else width := (int_of_string i)) usage; 
    end 

let _ = main() 

Hatta belgeleri okuduktan sonra yaklaşık Arg.parse Ben tam formata sahip bir doğrulama eklemek anlamaya muktedir değilim (-r height -c width) parametre olarak geçirilen benim yürütülebilir.

Herhangi bir yardım, OCaml öğrenirken çok takdir edilecektir.

cevap

1

Komut satırı arabiriminin dilbilgisi, parse işlevinin ilk bağımsız değişkeni tarafından belirtilir. İkinci argüman, komut satırında gerçekleşen her bir anonim argüman için çağrılan bir işlevdir, yani, ondan önce bir anahtar içermeyen bir argümandır. İşte örnek şu:

Arg.parse Arg.[ 
    "-r", Set_int height, "<height> set height"; 
    "-c", Set_int width, "<width> set width"; 
] ignore usage