Quando uma função deve incluir uma declaração de retorno explícita em Julia?

8

quando uma função em Julia deve ter uma declaração de retorno usando a palavra-chave return e quando ela deve retornar com a variável que eu quero retornar no final da função?

Eu estava lendo os documentos de Julia e parece que há bastante literatura sobre o assunto encontrada aqui .

Meu entendimento é que a convenção é sempre usar returnse você estiver tentando interromper a função e, caso contrário, ter apenas a variável que deseja retornar no final da função.

Meu entendimento está correto ou estou faltando alguma coisa aqui?

logankilpatrick
fonte

Respostas:

10

O guia Estilo azul recomenda sempre o uso returnem definições de funções de formato longo.

Gosto da consistência e clareza dessa convenção.

David Varela
fonte
4

Tecnicamente falando, você precisa usar a returnpalavra - chave se retornar CodeInfode uma @generatedfunção. Devido a um bug de longa data https://github.com/JuliaLang/julia/issues/25678, o que aparece se você estiver tentando implementar o estilo de cassete aprovado ou similar (consulte um post que escrevi sobre isso)

Com isso dito, isso é tão incrivelmente obscuro que eu realmente hesito em dar essa resposta. Para quase uma dúzia de pessoas que tentam fazer isso, a presença de retorno ou não na última declaração é puramente uma questão de estilo.

Lyndon White
fonte
4

É uma questão de gosto, mas eu prefiro fortementereturn declarações explícitas em funções de várias linhas.

Sempre dou uma olhada dupla e fico confuso por um segundo e meio sempre que vejo uma variável ou expressão solitária oscilando sozinha na última linha. Acho estranho e deselegante.

Instruções explícitas returnmelhoram muito a legibilidade, imho.

DNF
fonte
3

Isso é puramente estilístico. Nunca é necessário usar a returnpalavra - chave. Pessoalmente, eu não uso.

Pedreiro
fonte
1
Bem, você precisa se deseja retornar do fluxo de controle.
Fredrik Bagge