Wikifunctions:Comment créer des implémentations

From Wikifunctions
This page is a translated version of the page Wikifunctions:How to create implementations and the translation is 49% complete.
Outdated translations are marked like this.

Cette page fournit un guide détaillé pour créer les implémentations, au delà de l’explication générale sur Wikifunctions:Introduction

Code en Python

Nous donnons ci-dessous un exemple concret de la façon de créer une implémentation sous la forme de code en Python. Supposons que nous voulons créer une implémentation pour une fonction qui combine deux chaînes d'entrée en mettant un espace entre eux et renvoie le résultat de cette. Supposons que le ZID de cette fonction soit Z11057.

Cette description n’est valable que si l’implémentation utilise des chaînes et des booléens comme types d'entrée ou de sortie. Si un autre type est utilisé, veuillez consulter la documentation sur le type donné sur la façon de transformer les valeurs afin qu’elles puissent être utilisées en Python. Nous prévoyons de le rendre plus facile à l'avenir.

L’implémentation est définie en utilisant le ZID de la fonction. Il en va de même pour les arguments de la fonction. Donc, dans le cas de la fonction Z11057 avec ses deux arguments, la première ligne devrait ressembler à ceci :

def Z11057(Z11057K1, Z11057K2):

Remarque : nous prévoyons de cacher les ZID à l’avenir.

La première ligne devrait être créée automatiquement pour vous, une fois que vous avez sélectionné Python comme langage de programmation. Il suffit d’ajouter le corps de la fonction.

En dessous de cela, vous écrivez le code en Python comme d’habitude. C’est juste que les variables ont un peu l'air étrange. Dans ce cas, il pourrait s’agir, par exemple :

  return Z11057K1 + " " + Z11057K2

Comme il s’agit de Python, n’oubliez pas d’indenter cette ligne.

Si vous avez déjà des tests (et c’est une bonne habitude de créer les tests en premier), cliquez sur la flèche circulaire dans les cas de test et voyez si votre implémentation réussit les tests.

Rappelez-vous que le temps d’exécution n'a pas d'état. Ne prenez pas de valeurs pour les variables globales ou statiques. Si vous avez d’autres questions sur ce que vous pouvez et ne pouvez pas faire en Python, demandez à Wikifunctions:Python implementations.

Code en JavaScript

Nous donnons ci-dessous un exemple concret de la façon de créer une implémentation sous la forme de code en JavaScript. Supposons que nous voulons créer une implémentation pour une fonction qui combine deux chaînes d'entrée en mettant un espace entre eux et renvoie le résultat de cette. Supposons que le ZID de cette fonction soit Z11057.

Cette description n’est valable que si l’implémentation utilise des chaînes et des booléens comme types d'entrée ou de sortie. Si un autre type est utilisé, veuillez consulter la documentation sur le type donné sur la façon de transformer les valeurs afin qu’elles puissent être utilisées en JavaScript. Nous prévoyons de le rendre plus facile à l’avenir.

L’implémentation est définie en utilisant le ZID de la fonction. Il en va de même pour les arguments de la fonction. Donc, dans le cas de la fonction Z11057 avec ses deux arguments, la première ligne devrait ressembler à ceci :

function Z11057( Z11057K1, Z11057K2 ){

Remarque : nous prévoyons de cacher les ZID à l’avenir.

L’implémentation devrait se terminer par une ligne qui ferme la parenthèse d’ouverture de la première ligne.

Ce code doit être créé automatiquement pour vous, une fois que vous avez sélectionné JavaScript comme langage de programmation. Il suffit d’ajouter le corps de fonction.

À l'intérieur des accolades, écrivez le code en JavaScript comme d’habitude. C’est juste que les variables ont un peu l’air étrange. Dans ce cas, il pourrait s’agir, par exemple :

  return Z11057K1 + " " + Z11057K2;

Si vous avez déjà des tests (et c’est une bonne habitude de créer les tests en premier), cliquez sur la flèche circulaire dans les cas de test et voyez si votre implémentation réussit les tests.

Remember that the runtime has no state. Don’t assume values for global or static variables. If you have further questions about what you can and cannot do in JavaScript, ask on Wikifunctions:JavaScript implementations.

Composition

In the following we give a concrete example on how to create an Implementation in the form of a composition. Say we want to create an implementation for a Function which combines two input strings by putting a space between them, returning the result of that. Let’s assume the ZID of that function is Z11057.

It is usually a good idea to first think about how to combine existing functions in order to create the desired output. Sometimes this might be trivial and you can just go ahead with composing functions, but in many cases it is worthwhile to note the desired composition down. The Wikifunctions composition interface is not very good yet at editing compositions, so it is a good idea to first figure out what exactly you want to create.

For example, for the given Function, we could use the existing Function to concatenate strings. That Function takes two strings and makes one string out of them. But we need to add a space in between. So we first concatenate a space to the end of the first string, and then concatenate the second string to the result of that first concatenation. So our composition could be noted down like this:

concatenate(concatenate(Z11057K1, " ["), Z11057K2).

Pour créer ceci :

  1. Click on the red Select Function.
  2. Enter the name of the Function we want to select, i.e. “concatenate” and select that.
  3. The first argument of that outer concatenation is a function call itself. In order to do that, click on the > next to First.
  4. Now click on the value of the Type of First. It currently says String.
  5. You will see four options. Select Function call.
  6. Now, select the inner Function. That is, again, concatenate.
  7. The argument First of the inner concatenate needs to be our first argument. So click again on the > next to First.
  8. Click on the dropdown box showing String.
  9. Select Argument reference.
  10. Enter the Key ID of the first argument, which in this case is Z11057K1 (you can look it up on the function page). In the future, this will become a drop down box.
  11. In the inner field Second (not the outer one), type in a single space character. This will be basically invisible.
  12. If you already have Tests (and it’s a good habit to create the tests first), click on the circular arrow in the Test cases and see if your implementation passes the tests.
  13. Now add the second argument. For the outer Second argument, select the > next to it.
  14. Click on the drop down box saying String.
  15. Select Argument reference.
  16. Enter the Key ID of the second argument, which in this case is Z11057K2 (you can look it up on the function page). In the future, this will become a drop down box.
  17. If you already have Tests (and it’s a good habit to create the tests first), click on the circular arrow ⎋ in the Test cases and see if your implementation passes the tests.

If the composition passes the test, you can publish it.