Aller au contenu

Gambas 3/Gambas3LeLangage/Les fonctions

Un livre de Wikilivres.

Une fonction se caractérise par le mot Function.

Il faut spécifier un type de retour pour la valeur que nous allons retourner.

Le mot Return à la fin du code permet de définir la valeur de retour.

' Gambas module file

Public Function GetTwoTimes(f As Float) As Float
  Dim fResult As Float
  fResult = f + f
  Return fResult
End

Public Function Divide(f As Float) As Float
  Return (f / 2)
End

Public Sub Main()
  ' default values
  Dim sVal1 As String = "4"
  Dim sVal2 As String = "6" 
  Dim fVal1 As Float = 4.0
  Dim fVal2 As Float = 6.0
  
  ' get value from arguments 
  If Application.Args[1] Then sVal1 = Application.Args[1] 
  If Application.Args[2] Then sVal2 = Application.Args[2] 
  If IsFloat(sVal1) Then fVal1 = CFloat(sVal1)
  If IsFloat(sVal2) Then fVal2 = CFloat(sVal2)
    
  Print "We use functions now ! "
  Print "  " & CStr(fVal1) & " * 2 = " & GetTwoTimes(fVal1)
  Print "  " & CStr(fVal2) & " / 2 = " & Divide(fVal2)
End

Le code ci-dessus contient deux fonctions.

Pour les curieux, Application.Args est une collection contenant les arguments passés au programme.

Pour passer des arguments, procédez ainsi : après avoir généré l'exécutable, vous ouvrez le terminal dans le dossier de l'application puis vous tapez la commande comme suit :

  gbr3 executable.gambas argument1 arg2

Une fonction peut prendre zéro, un ou plusieurs arguments comme pour un sous-routine.

Une fonction peut appeler une autre fonction, etc.