Como manipular inputs

Nesta seção, você vai encontrar o tutorial para manipular inputs básicos no Ritchie.

Neste tutorial, a ideia é ensinar você a criar uma fórmula simples que, neste caso, irá somar 2 números positivos.

Parâmetros de entrada

Essa fórmula deverá conter (pelo menos) os dois parâmetros de entrada. Veja como abaixo:

  1. Number one (RIT_NUMBER_ONE).
  2. Number two (RIT_NUMBER_TWO).

Como fazer isso?

Procure pelo arquivo config.json da sua fórmula e substitua o campo inputs pelo bloco abaixo:

    {
      "label": "Number one : ",
      "name": "rit_number_one",
      "type": "text"
    },
    {
      "label": "Number two : ",
      "name": "rit_number_two",
      "type": "text"
    }
  ]

Passo a Passo

Siga os passos abaixo para criar a sua fórmula:

Passo 1: Extrair os parâmetros de entrada

Procure pelo arquivo main da sua fórmula e extraia os parâmetros de entrada antes de usá-los para chamar o método da fórmula. Veja abaixo alguns exemplos de códigos:

import os

from formula import formula

number_one = int(os.environ.get("RIT_NUMBER_ONE"))
number_two = int(os.environ.get("RIT_NUMBER_TWO"))

formula.run(number_one, number_two)

package com.ritchie;

import com.ritchie.formula.Formula;

public class Main {

  public static void main(String[] args) {
    String numberOne = System.getenv("RIT_NUMBER_ONE");
    String numberTwo = System.getenv("RIT_NUMBER_TWO");
    Formula formula = new Formula(Integer.valueOf(numberOne), Integer.valueOf(numberTwo));
    System.out.println(formula.run());
  }
}

package main

import (
	"formula/pkg/formula"
	"os"
	"strconv"
)

func main() {
	numberOne, _ := strconv.Atoi(os.Getenv("RIT_NUMBER_ONE"))
	numberTwo, _ := strconv.Atoi(os.Getenv("RIT_NUMBER_TWO"))

	formula.Formula{
		NumberOne: numberOne,
		NumberTwo: numberTwo,
	}.Run()
}

const run = require("./formula/formula")

const NUMBER_ONE = parseInt(process.env.RIT_NUMBER_ONE)
const NUMBER_TWO = parseInt(process.env.RIT_NUMBER_TWO)

run(NUMBER_ONE, NUMBER_TWO) 

Observação: Aqui que é realizado a conversão de STRING para INT pois não existe o tipo INT nativo no arquivo config.json .

Passo 2: Implemente a operação da fórmula

Procure pelo arquivo formula da sua fórmula e implemente o método realizando a operação da sua automação. Veja alguns exemplos de códigos:


def run(number_one, number_two):
    sum = number_one + number_two
    print("The sum is", sum)

package com.ritchie.formula;

public class Formula {

  private Integer numberOne;
  private Integer numberTwo;

  public String run() {
    Integer sum = numberOne + numberTwo;
    return String.format("The sum is %s", sum);
  }

  public Formula(Integer numberOne, Integer numberTwo) {
    this.numberOne = numberOne;
    this.numberTwo = numberTwo;
  }

  public Integer getNumberOne() {
    return numberOne;
  }

  public void setNumberOne(Integer numberOne) {
    this.numberOne = numberOne;
  }

  public Integer getNumberTwo() {
    return numberTwo;
  }

  public void setNumberTwo(Integer numberTwo) {
    this.numberTwo = numberTwo;
  }
}

package formula

import (
	"fmt"
)

type Formula struct {
	NumberOne int
	NumberTwo int
}

func (f Formula) Run() {
	sum := f.NumberOne + f.NumberTwo
	fmt.Println("The sum is", sum)
}

function Run(numberOne, numberTwo) {
    var sum = numberOne + numberTwo
    console.log("The sum is " + sum)
}

const formula = Run
module.exports = formula

Passo 3: Teste a fórmula no terminal

  • Teste com prompt
~ rit math sum numbers
? Number one : 1
? Number two : 2
The sum is 3
  • Teste com input flags
~ rit math sum numbers --rit_number_one="1" --rit_number_two="2" 
The sum is 3

Próximos passos

👉 Se você completou o primeiro tutorial, vá para o segundo Como usar credenciais do GitHub?.


Última modificação October 29, 2021: Doc review (#161) (ef9c57d8)