From ad016b3c6e575c03660895b908611b104cf77e1a Mon Sep 17 00:00:00 2001 From: Pranav Srinivas Kumar Date: Mon, 1 Apr 2019 23:45:25 -0400 Subject: [PATCH] Update README.md --- README.md | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 27ff6c3..f8da567 100644 --- a/README.md +++ b/README.md @@ -34,10 +34,11 @@ int main(int argc, char *argv[]) { program.add_argument("square") .help("display the square of a given integer") - .action([](const std::string& value) { return pow(std::stoi(value), 2); }); + .action([](const std::string& value) { return std::stoi(value); }); program.parse_args(argc, argv); - std::cout << program.get("square") << std::endl; + auto input = program.get("square"); + std::cout << (input * input) << std::endl; return 0; } @@ -53,9 +54,7 @@ $ ./main 15 Here's what's happening: * The ```add_argument()``` method is used to specify which command-line options the program is willing to accept. In this case, I’ve named it square so that it’s in line with its function. -* Command-line arguments are strings. Inorder to square the argument and print the result, we need to convert this argument to a number. In order to do this, we use the ```.action``` method and provide a lambda function that takes the argument value (std::string) and returns the square of the number it represents. Actions are quite powerful as you will see in later examples. -* Calling our program now requires us to specify an option. -* The ```parse_args()``` method parses the arguments provided, converts our input into an integer and returns the square. +* Command-line arguments are strings. Inorder to square the argument and print the result, we need to convert this argument to a number. In order to do this, we use the ```.action``` method and provide a lambda function that tries to convert user input into an integer. * We can get the value stored by the parser for a given argument using ```parser.get(key)``` method. ### Optional Arguments