Onde os fracos não tem vez!
#1 – Somar Argumentos
Iniciando a saga Algoritmos NodeJS, a missão de hoje é aprender como criar um algoritmo que receba argumentos de linha de comando com um ou mais números e imprimir o total no console. Vamos lá:
Executando o projeto temos este resultado. Veja que estou passando 4 argumentos e o e retornando a soma deles.
O Projeto
Para criar este app irei utilizar a estrutura simples para apps NodeJS.
- Nome : Algo_1_SomarArgs
- Arquivo : App.js
- Template : não
- Referências : não
Pronto! Já temos um novo projeto com uma estrutura será criada.
Etapa 1: NodeJSApp/app.js
Agora vamos à solução.
var length = process.argv.length, sum = 0; for (i = 2; i < length; i++) { sum += Number(process.argv[i]); }; console.log(sum);
Linha de raciocínio
O NodeJS nos permite acessar os args da linha de comando via objeto global process. Esse objeto tem a propriedade argv, um array contendo os args da linha de comando. Veja, crie um app.js:
console.log(process.argv);
Até aqui nada demais. Apenas um console log contendo uma informação.
Agora execute o programa:
node app.js 1 2 3 4
A saída do programa será:
['node', '/path/to/your/program.js', '1', '2', '3', '4' ]
O objetivo do algoritmo é fazer um “loop” através destes números de args e somá-los, exibindo a quantidade de argumentos passados ao programa.
Os elementos de process.argv:
- O primeiro elemento é sempre node
- O segundo é o path do arquivo
Então, o algoritmo deve iniciar a partir do terceiro elemento e contar cada item até o final do array.
Não esqueça! Todos os elementos de process.argv são strings, então é preciso converter os valores para números. Faça process.argv[i] ou Number(process.argv[i]).
Conclusão
Até aqui é o básico de qualquer programação baseada em Node.
Este é um algoritmo inicial interessante, pois dominar essa aplicação trivial ambiciona novas experiências. Além disso, manipula-se um bocado sobre a tecnologia e raciocínio lógico.