‫Olá e bem-vindo.
‫E a seguir, veremos como podemos retornar valores de nossas funções usando diferentes tipos
‫de retorno e uma instrução de retorno.
‫Vamos mergulhar e ver como isso funciona.
‫Então, na última aula, dissemos que se uma função não retorna um valor, então o tipo de retorno deve ser void, que
‫é o que fizemos aqui.
‫Mas e se quiséssemos pegar uma função como get basicamente verificando se devemos dar a volta?
‫Você sabe, esta função aqui na declaração if, se pudéssemos dizer que deveria virar, seria
‫uma função muito mais limpa no final do dia.
‫Então, como fazemos isso?
‫Como conseguimos uma função que pode retornar uma expressão booleana?
‫Bem, a maneira como fazemos isso é simplesmente usando um tipo em vez do void.
‫Então, se fôssemos retornar uma vez uma expressão booleana porque tipo bool como faríamos para uma variável.
‫Mas o que distingue a função da variável é o fato de colocarmos parênteses depois dela, o que a
‫torna uma função em vez de uma variável.
‫E o que poderíamos fazer é chamá-lo de plataforma retornar e então colocamos nossos parênteses.
‫E neste caso, eu não tenho nada que eu queira passar como argumento para esta função, então eu posso simplesmente deixar a
‫lista de parâmetros vazia, colocar ponto e vírgula no final da linha e então copiar esta linha inteira e
‫passar por cima para a plataforma móvel.
‫CP E bem no final do arquivo, você pode colocá-lo em qualquer lugar que quiser entre qualquer uma das
‫funções.
‫Apenas certifique-se de que não esteja dentro de uma função.
‫Vou colar aqui.
‫Eu vou recuar e vou adicionar a classe e.
‫A resolução do escopo opera.
‫Portanto, um dois pontos de plataforma em movimento deve retornar a plataforma, remova o ponto e vírgula e adicione algumas
‫chaves.
‫E o que queremos fazer aqui é se quisermos realmente retornar um resultado, precisamos usar uma
‫palavra-chave especial return seguida por uma expressão do tipo correto.
‫Então, neste caso, tem que ser uma expressão booleana.
‫Então, eu poderia retornar true e colocar ponto e vírgula no final, ou poderia retornar false e colocar um ponto e vírgula no
‫final.
‫Mas não precisa ser tão simples.
‫Na verdade, pode ser qualquer expressão.
‫Pode ser outra chamada para uma função, pode ser uma variável, pode ser o uso de alguns
‫operadores como temos aqui dentro de nossa declaração.
‫Então, de fato, vamos em frente e tentar fazer isso.
‫Eu vou pegar essa expressão.
‫A distância movida e é maior que a distância mov.
‫Vou cortá-lo e colocá-lo como a expressão de retorno para esta função de retorno da
‫plataforma.
‫Inez vai reclamar aqui porque o movimento de distância não é uma variável local dentro da nossa função de
‫retorno da plataforma.
‫Então vamos mudar mais algumas coisas.
‫Mas antes de fazermos isso, não quero esquecer de colocar uma chamada para this caso a plataforma retorne na instrução if para
‫que a plataforma retorne e, em seguida, coloque os parênteses para que a função seja realmente chamada dentro de nossa
‫instrução.
‫Então agora está começando a ler um pouco melhor para mim.
‫Se a plataforma retornar, faremos o seguinte.
‫Então agora o que precisamos fazer é trazer a variável de distância movida que temos na plataforma MOVE.
‫Na verdade, não precisamos dele dentro da plataforma MOVE.
‫Vou cortá-lo e trazê-lo e colocá-lo na linha antes de nossa declaração de retorno.
‫Normalmente, a instrução return é a última coisa em uma função, porque uma vez que você retornou de uma função, você realmente
‫não faz mais nada.
‫Se eu fosse colocar algo como uma mensagem de log, então eu colocaria você log após minha declaração de retorno com algum tipo
‫de mensagem.
‫Normalmente o que vai acontecer é que você receberá um aviso do seu compilador dizendo que essa linha nunca
‫será alcançada e que você provavelmente não pretendia fazer isso.
‫Portanto, a instrução de retorno geralmente é a última coisa.
‫Então, tendo atravessado a linha que define a distância movida em nossa função de retorno da plataforma, você pode ver
‫que agora está dizendo, ei, eu não tenho um local atual e, bem, o local atual
‫que podemos pegar facilmente, temos defina o local atual antes de chamarmos, caso a plataforma
‫retorne.
‫Então, na verdade, obter localização ativa é exatamente o que queremos.
‫Então, vou colocar isso em vez de uma variável, vou fazer uma chamada para chegar a um local
‫no local e a plataforma deve retornar.
‫Então agora o que temos é que a distância movida é igual ao efeito, uma distância entre a localização inicial
‫e a localização atual do ator.
‫Portanto, se for maior que a distância de movimento configurada, sim, a plataforma deve retornar.
‫É isso que esta função está dizendo e nos permite usá-la em um nível mais alto de abstração de
‫dentro e mover a função da plataforma.
‫Agora você notará que agora está reclamando que não podemos mover a distância para imprimir o overshoot.
‫Bem, isso não é grande coisa.
‫Na verdade, não quero mais imprimir isso.
‫É meio que bagunçando minha função de qualquer maneira.
‫Então eu vou deletar a linha variável de overshoot.
‫Vou deletar a linha get name, vou deletar a mensagem de log porque ela estava
‫lá apenas temporariamente, daí o nome do log temp.
‫Então agora eu me movo.
‫A função da plataforma está começando a parecer muito mais limpa.
‫Podemos ver que estamos fazendo alguma atualização do local aqui.
‫Podemos ver se a plataforma deve retornar e se deve.
‫Em seguida, estamos atualizando o local e invertendo-o.
‫Agora, uma coisa que acho que ficaria um pouco melhor aqui é se tivéssemos uma instrução alt em vez de
‫ter esse monte de código no topo.
‫Portanto, se a plataforma retornar, executaremos isso, caso contrário, executaremos o código normal em termos
‫de avançar.
‫Então lembre-se de que voltamos sua mente para quando falamos sobre a instrução alt, ela vem depois da
‫instrução if e fazemos assim.
‫Após as chaves, temos uma nova linha e digitamos else, depois outra nova linha e abrimos alguns novos parênteses
‫e podemos simplesmente mover esse código que está aqui no topo do nosso tick.
‫Podemos pegá-lo e movê-lo para a instrução alt.
‫Então agora parece bem direto.
‫A plataforma deve retornar e fazer o código que a plataforma retorna mais?
‫Estamos movendo a plataforma para frente com nossa velocidade de plataforma.
‫Agora eu gostaria de desafiá-lo a criar sua própria função com um valor de retorno.
‫Eu gostaria que você adicionasse uma função obter distância movida.
‫Portanto, atualmente calculamos isso em uma variável chamada distância movida.
‫Eu gostaria que você substituísse isso por uma chamada para uma função.
‫Portanto, deve retornar um float porque é assim que o tipo de distância se move, devemos chamá-lo caso a
‫plataforma retorne.
‫Então, em vez de usar os efeitos disso, devemos usar nossa própria implementação.
‫Então, que código devemos?
‫Deve conter o treinador com o qual colocamos?
‫A dica é que já digitamos esse código, então você está apenas copiando e colando na nova
‫função.
‫Mas pense um pouco sobre qual deve ser a expressão de retorno, de modo que o que estamos
‫retornando seja o valor da distância movida.
‫Pause o vídeo e vá em frente.
‫OK.
‫Bem vindo de volta.
‫Então, vamos para a frente do arquivo.
‫Adicionaremos uma nova função aqui para o valor de retorno do voo chamado get distance movido.
‫E então não teremos argumentos entre parênteses e então iremos para nossa plataforma
‫móvel.
‫CP Vamos adicionar um float, uma plataforma móvel, dois pontos, dois pontos a distância movida ou obter a distância movida,
‫devo dizer parênteses.
‫E então vamos colocar um novo conjunto de chaves na próxima linha.
‫E o que queremos retornar é literalmente apenas a expressão que estamos usando para criar nosso float de
‫movimento de distância para que eu possa recortar e colar aqui.
‫Portanto, afeta dois pontos, dois pontos, teste, local inicial, obtenha local ativo e coloque ponto e vírgula no final
‫dessa linha.
‫E isso significa que a plataforma deve retornar.
‫Agora, em vez de ter essa variável de movimento de distância, vou excluir essa linha que está meio concluída.
‫Nós vamos voltar obter distância movida.
‫Parênteses é maior que a distância do movimento.
‫Então, pegamos o que estava entrando em uma variável e colocamos em sua própria função.
‫E isso significa que sempre que quisermos nos referir à distância movida, se quisermos manter essa
‫mensagem de log na plataforma MOVE, podemos facilmente chamar a função, obter a distância movida de qualquer uma das
‫funções em nossa classe.
‫Coisas boas.
‫Então, nesta palestra, aprendemos sobre declarações de retorno e valores de retorno e os usamos para criar duas
‫novas funções em uma classe.
‫Vejo você na próxima palestra.