meta données pour cette page
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Prochaine révision | Révision précédente | ||
| arma:createurs_de_missions:arma_3:tips_en_tout_genre:fonctions [2026/10/15 23:28] – Restauration de l’ancien wiki (arma:createurs_de_missions:arma_3:tips_en_tout_genre:fonctions, archive.org) tanin_claude | arma:createurs_de_missions:arma_3:tips_en_tout_genre:fonctions [2026/10/16 00:36] (Version actuelle) – Mention de jeu retirée du titre (rubrique déjà séparée par jeu) tanin_claude | ||
|---|---|---|---|
| Ligne 3: | Ligne 3: | ||
| ===== Qu' | ===== Qu' | ||
| - | En programmation, | + | En programmation, |
| - | Une telle structure syntaxique porte un nom, c'est la**fonction**. Son appellation vient tout simplement de l' | + | Une telle structure syntaxique porte un nom, c'est la **fonction**. Son appellation vient tout simplement de l' |
| - | < | + | < |
| - | Le principe est donc clair, vous écrivez **une seule fois** le code de votre fonction en définissant les paramètres attendus ainsi que la valeur retournée. Ensuite il ne vous reste plus qu' | + | Le principe est donc clair, vous écrivez **une seule fois** le code de votre fonction en définissant les paramètres attendus ainsi que la valeur retournée. Ensuite il ne vous reste plus qu'à l' |
| ===== En SQF ===== | ===== En SQF ===== | ||
| - | Si vous êtes ici c'est bien parce que vous voulez faire du scripting SQF qui supporte bien heureusement les fonctions. Il vaut mieux pour un langage s'appellant | + | Si vous êtes ici, c'est bien parce que vous voulez faire du scripting SQF qui supporte bien heureusement les fonctions. Il vaut mieux pour un langage s'appelant |
| ---- | ---- | ||
| Ligne 25: | Ligne 25: | ||
| - La syntaxe pour les paramètres est identique dans les deux cas ainsi que pour la valeur de retour. | - La syntaxe pour les paramètres est identique dans les deux cas ainsi que pour la valeur de retour. | ||
| - | - Il suffit de suivre la recette de cuisine pour pas se tromper | + | - Il suffit de suivre la recette de cuisine pour ne pas se tromper |
| - | Le point négatif est que le SQF a décidé de ne pas suivre une syntaxe | + | Le point négatif est que le SQF a décidé de ne pas suivre une syntaxe |
| ==== Construire une fonction ==== | ==== Construire une fonction ==== | ||
| Ligne 33: | Ligne 33: | ||
| === Création et exécution === | === Création et exécution === | ||
| - | Une fonction en SQF c'est finalement comme n' | + | Une fonction en SQF c'est finalement comme n' |
| Ici je viens de créer une variable '' | Ici je viens de créer une variable '' | ||
| Ligne 59: | Ligne 59: | ||
| </ | </ | ||
| - | Si vous exécutez ces lignes dans la console de débug, vous devez avoir le message dans le chat du jeu. | + | Si vous exécutez ces lignes dans la console de débogage, vous devez avoir le message dans le chat du jeu. |
| === Paramètres === | === Paramètres === | ||
| - | La puissance des fonctions vient principalement de leur paramétrisation. Prenons l' | + | La puissance des fonctions vient principalement de leur paramétrisation. Prenons l' |
| < | < | ||
| Ligne 77: | Ligne 77: | ||
| </ | </ | ||
| - | j'obtient | + | j'obtiens |
| - | Cette fonction est peu pratique car si on veut calculer le carré d'un autre nombre il nous faut réécrire une autre fonction différente et on pert tout l' | + | Cette fonction est peu pratique car si on veut calculer le carré d'un autre nombre il nous faut réécrire une autre fonction différente et on perd tout l' |
| - | Pour passer un paramètre à une fonction on l'ajouter | + | Pour passer un paramètre à une fonction on l'ajoute |
| < | < | ||
| Ligne 86: | Ligne 86: | ||
| </ | </ | ||
| - | Maintenant comment utilise t'on ce paramètre ? C'est là où on rentre | + | Maintenant, comment utilise-t-on ce paramètre ? C'est là qu'on entre dans les spécificités bizarres |
| - | < | + | < |
| On réécrit le code de notre fonction comme ceci | On réécrit le code de notre fonction comme ceci | ||
| Ligne 100: | Ligne 100: | ||
| où l'on a remplacé la valeur 3 par '' | où l'on a remplacé la valeur 3 par '' | ||
| - | Comment passe t'on plusieurs paramètres ?\\ | + | Comment passe-t-on plusieurs paramètres ?\\ |
| Eh bien en SQF, on ne peut pas mais c'est contournable. Tout d' | Eh bien en SQF, on ne peut pas mais c'est contournable. Tout d' | ||
| Ligne 117: | Ligne 117: | ||
| </ | </ | ||
| - | Toutefois | + | Toutefois, Bohemia |
| < | < | ||
| Ligne 144: | Ligne 144: | ||
| </ | </ | ||
| - | Pour la fonction //carre//, la dernière opération est notre paramètre multiplié par lui-même (donc son carré) et pour la fonction // | + | Pour la fonction //carre//, la dernière opération est notre paramètre multiplié par lui-même (donc son carré) et pour la fonction // |
| Par comparaison voici dans deux autres langages l' | Par comparaison voici dans deux autres langages l' | ||
| Ligne 211: | Ligne 211: | ||
| Il est possible de définir vos fonctions dans des fichiers séparés avec une fonction par fichier. Dans ce cas précis il ne faut pas utiliser d' | Il est possible de définir vos fonctions dans des fichiers séparés avec une fonction par fichier. Dans ce cas précis il ne faut pas utiliser d' | ||
| - | Ainsi il suffit de copier coller le contenu de vos accolades dans un fichier. Pour pouvoir l' | + | Ainsi, il suffit de copier-coller le contenu de vos accolades dans un fichier. Pour pouvoir l' |
| < | < | ||