J'ai commencé à traduire à partir de python un moteur de jeu pour un jeu de plateau que j'ai inventé. Je sais que l'exemple que je vais vous montrer est plutôt insignifiant, il n'y a pas vraiment besoin de l'optimiser, mais j'aimerais bien le faire avant de traiter des fonctions lourdes.À quelle fréquence la déclaration de type est-elle nécessaire dans Julia pour des performances optimales?
function howMany()::Int8
pieces::Int8 = 0
while pieces > 8 || pieces < 4
try
print("How many pieces are we going to play with (min 4, max 8)? ")
pieces = parse(Int8, readline(STDIN))
catch
println("It must be an integer number between 4 and 8!")
end
end
return pieces
end
function main()
pieces::Int8 = howMany()
#println(pieces, typeof(pieces))
end
main()
Est-il nécessaire de déclarer Int8 4 fois (paramètre 3 déclaration + analyse)? Quand est-ce que je peux éviter de spécifier Int8 sans avoir de compromis de performance?
@DanGetz a fourni une excellente réponse. Je pensais que j'ajouterais simplement que personnellement je préfère inclure des informations de type dans la signature de la fonction, par exemple 'myfunc (x :: Float64) :: Int', * même si cela n'est généralement pas nécessaire pour obtenir le type code stable *. La raison en est que cela rend la vie plus facile quand vous revenez et regardez le code 6 mois plus tard, en plus il peut vous faciliter la vie du point de vue du débogage (par exemple, vous obtenez une erreur très interprétable). fonction, ou modifier la fonction et accidentellement sortie le mauvais type) –