mardi 26 avril 2022

returning the array created on a function to the initialize of a other function object

I'm making a simple "sell, client" program to practice in Ruby and I'm on a dilem taking the code, how is it possible to add the "itemsell" from the function "selecproduct" to the last argument on the init of object Venda (just where I tagged ##HELP##)

I'm having no problem in the process of add a Object as a variable, I'm just having the problem to return that value on one function to another one

def manipvendas
  while true
    puts "\n1- Adicionar venda"
    puts ""
    escolha = gets.chomp
    return if escolhe == "0"

    if escolha == "1" #adicionar venda
      print "\nInsira o número da venda: "
      numvend = gets.chomp
      numvend = numvend.to_i
      print "\nInsira a data da venda (Ano, Mês, Dia): "
      ano = gets.chomp
      mes = gets.chomp
      dia = gets.chomp
      data = Time.new(ano.to_i, mes.to_i, dia.to_i)
      print "\nInsira o cliente (número pela ordem cadastrada) para o qual a venda foi feita: "
      clientenum = gets.chomp
      selecproduct
      vendai = Venda.new(numvend,data,clientenum,##HERE##)
      @vendas.push(vendai)
    end
  end
end

def selecproduct
  while true
    print "\nInsira o produto (número pela ordem cadastrada) vendido: "
    print "Insira -1 para encerrar"
    produtonum = gets.chomp
    return if produtonum == "-1"
    print "\n Insira a quantidade do produto vendida: "
    produtoqnt = gets.chomp
    valor = produtoqnt * @produtos[produtonum].get_valor
    itemsell = ItemVenda.new(produtonum, @produtos[produtonum].get_valor, valor)
    @itemvenda.push(vendaitem)
  end
end

Aucun commentaire:

Enregistrer un commentaire