Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Ainda não consegui entender direito a questão @Flávio(Almeida)@

Pessoal, estou com uma dúvida nessa questão, porque não entendi um valor dentro de toda essa equação.

em

return b(nome + " " + a(sobrenome));

eu não entendi exatamente qual a função das aspas entre as concatenações de a e b, alguém me ajuda que to ficando maluco rs

3 respostas

Ola Renan,

Essas dúvidas e complicações no entendimento é bem normal no início! Vamos lá.

Pense como se fosse uma formula matemática, acontece de dentro para fora primeiro.

Assim o "mais externo" é executado somente após resolver tudo dentro dele, e assim por diante. Dessa forma a ordem de execução é

  1. executa a(sobrenome). O interpretador entra na função, executa o que tem dentro, e retorna nesse ponto o valor
  2. concatena esse retorno, o tal ""
  3. junta o valor concatenado ao valor da variavel nome
  4. com tudo pronto dentro da função mais externa, agora sim, executa b passando os valores prontos para ele
  5. e por fim, somente após a execução de b, retorna todo esse resultado para quem chamou esse trecho

O interpretador, salvo exceções, ao executar uma função qualquer, ele "aguarda" a execução no exato ponto da chamada, para só assim dar prosseguimento dos demais cálculos do fluxo.

Continue praticando e qualquer dúvida pode contar com a gente novamente!

Olá, JP

muito obrigado pela explicação, ficou mais claro como é feita a leitura das informações. Mas ainda não compreendo a função das aspas na equação.

O resultado não seria o mesmo se colocássemos apenas: b(nome + a(sobrenome)) ?

Isso é o que ainda me confunde, essa bendita aspas concatenando a e b rss

solução!

Ola Renan,

Sim você tem razão, a concatenação nesse caso, como a string esta vazia, não está fazendo diferença alguma e provavelmente esta ali somente para aprendizado de fluxo mesmo.