diff options
| author | Adrien Hopkins <adrien.p.hopkins@gmail.com> | 2023-08-30 17:54:17 -0500 |
|---|---|---|
| committer | Adrien Hopkins <adrien.p.hopkins@gmail.com> | 2023-08-30 20:02:26 -0500 |
| commit | aa73f47a5e2535224aa772f163aed2b6802bd4ad (patch) | |
| tree | e516fc505540eaa27abeb78214984d582c58c29c /args.go | |
| parent | 0f698d42907bc06f469ae3311433bcc741b8bd9b (diff) | |
Add compact display
Diffstat (limited to 'args.go')
| -rw-r--r-- | args.go | 16 |
1 files changed, 11 insertions, 5 deletions
@@ -3,20 +3,26 @@ package main import ( "errors" "fmt" - "os" + "flag" "strconv" ) // The arguments to this program type args struct { Radix uint + Compact bool } func parseArgs() (args, error) { - if len(os.Args) == 2 { - if radix, err := strconv.ParseUint(os.Args[1], 0, 0); err == nil { + var a args + flag.BoolVar(&a.Compact, "c", false, "Compact the output display") + flag.Parse() + + if flag.NArg() == 1 { + if radix, err := strconv.ParseUint(flag.Arg(0), 0, 0); err == nil { if radix > 1 { - return args{uint(radix)}, nil + a.Radix = uint(radix) + return a, nil } else { return args{}, errors.New("Radix must be an integer above 1.") } @@ -24,7 +30,7 @@ func parseArgs() (args, error) { return args{}, fmt.Errorf( "Argument must be an integer above 1 [%w].", err) } - } else if len(os.Args) < 2 { + } else if flag.NArg() < 1 { return args{}, errors.New("Please provide an argument (radix to study).") } else { return args{}, errors.New("Too many arguments provided.") |
