Wikifunctions:Hur man skapar en implementering

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

Den här sidan ger en mer detaljerad guide till att skapa implementeringar, utöver översikten Wikifunctions:Introduction.

Koda i Python

I det följande visar vi ett konkret exempel på hur man skapar en Implementering i form av Python-kod. Säg att vi vill skapa en implementering för en Funktion som kombinerar två strängar med ett mellansteg mellan dem och returnerar resultatet. Låt oss anta att funktionens ZID är Z11057.

Den här beskrivningen är bara giltig i fall implementeringen använder Strängar eller Booleska värden som ingående eller utgående variabler. I fall andra typer används, konsultera dokumentationen för den aktuella typen för att se hur värden kan transformeras för att kunna användas i Python. Vi planerar att göra detta enklare i framtiden.

Implementeringen, liksom argumenten, definieras med hjälp av funktionens ZID. I fallet med funktionen Z11057 och dess två argument skall första raden se ut så här:

def Z11057(Z11057K1, Z11057K2):

Obs: Vi planerar att dölja ZID i framtiden.

Den första raden borde skapas automatiskt för dig när du har valt Python som programmeringsspråk. Du behöver bara lägga till funktionens innehåll.

Nedanför det skriver du kod i Python som vanligt. Det är bara variablerna som ser lite konstiga ut. I det här fallet skulle det till exempel kunna vara:

  return Z11057K1 + " " + Z11057K2

Glöm inte att indentera raden eftersom det är Python.

Om du redan har tester (och det är en bra vana att börja med att skapa tester), klicka på den runda pilen och se om din implementering klarar testerna.

Kom ihåg att miljön inte bevarar tillstånd. Anta inte värden för globala eller statistka variabler. Om du har ytterligare frågor om vad du kan och inte kan göra i Pyton, fråga på Wikifunctions:Python implementations.

Koda i JavaScript

I det följande visar vi ett konkret exempel på hur man skapar en Implementering i form av JavaScript-kod. Säg att vi vill skapa en implementering för en Funktion som kombinerar två strängar med ett mellansteg mellan dem och returnerar resultatet. Låt oss anta att funktionens ZID är Z11057.

Den här beskrivningen är bara giltig i fall implementeringen använder Strängar eller Booleska värden som ingående eller utgående variabler. I fall andra typer används, konsultera dokumentationen för den aktuella typen för att se hur värden kan transformeras för att kunna användas i JavaScript. Vi planerar att göra detta enklare i framtiden.

Implementeringen, liksom argumenten, definieras med hjälp av funktionens ZID. I fallet med funktionen Z11057 och dess två argument skall första raden se ut så här:

function Z11057( Z11057K1, Z11057K2 ){

Obs: Vi planerar att dölja ZID i framtiden.

Implementeringen måste avslutas med en rad som stänger parentesen som öppnas på första raden.

Detta skapas automatiskt för dig när du har valt JavaScript som programmeringsspråk. Du behöver bara lägga till funktionens innehåll.

Innanför parenteserna skriver du JavaScript som vanligt. Det är bara variablerna som ser lite konstiga ut. I det här fallet kan man till exempel skriva:

  return Z11057K1 + " " + Z11057K2;

Om du redan har tester (och det är en bra vana att börja med att skapa tester), klicka på den runda pilen och se om din implementering klarar testerna.

Kom ihåg att miljön inte bevarar tillstånd. Anta inte värden för globala eller statiska variabler. Om du har ytterligare frågor om vad du kan och inte kan göra i JavaScript, fråga på Wikifunctions:JavaScript implementations.

Komposition

I det följande visar vi ett konkret exempel på hur man kan skapa en Implementering genom komposition. Säg att vi vill skapa en implementering för en Funktion som kombinerar två strängar med ett mellansteg mellan dem och returnerar resultatet. Låt oss anta att funktionens ZID är Z11057.

Det är ofta en bra idé att första tänka igenom hur man kan kombinera existerande funktioner för att uppnå ett önskat resultat. Ibland kan det vara trivialt och du kan bara direkt kombinera funktioner. I många fall är det dock värt att dokumentera den önskade kompositionen. Wikifunctions har ett kompositionsgränssnitt som ännu inte är så bra för att redigera kompositioner. Därför är det en bra idé att först komma fram till exakt vad du vill skapa.

Till exempel, för den givna Funktionen skulle vi kunna använda den existerande Funktionen för att konkatenera strängar. Den funktionen tar två strängar och sätter ihop dem till en sträng. Men vi behöver lägga till ett mellansteg. Därför konkatenerar vi först den första strängen med ett mellansteg och sedan konkatenerar vi resultatet med den andra strängen. Vår komposition bör alltså se ut så här:

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

För att skapa detta:

  1. Klicka på den röda texten Select Function.
  2. Skriv in namnet på den Funktion som vi vill välja, d.v.s. ”konkatenera” och välj den.
  3. Det första argumentet till yttre konkateneringen är i sig ett anrop till en funktion. För att göra det, klicka på > brevid Första.
  4. Klicka nu på värdet för Första argumentets typ. Där det nu står Sträng.
  5. Du får fyra alternativ. Välj Funktionsanrop.
  6. Välj nu den inre funktionen. Den är återigen konkatenera.
  7. Första argumentet för den inre konkateneringen ska vara vårt första argument. Klicka igen på > bredvid Första.
  8. Klicka på rutan som visar Sträng.
  9. Välj Argument reference.
  10. Skriv in Nyckel-ID för första argumentet, i detta fall Z11057K1 (du kan se det på funktionssidan). I framtiden kommer detta att bli en listruta.
  11. I det inre fältet Andra (inte det yttre), skriv in ett enkelt mellansteg. Det här kommer vara nästan osynligt.
  12. Om du redan har tester (och det är en bra vana att börja med att skapa tester), klicka på den runda pilen och se om din implementering klarar testerna.
  13. Lägg nu till det andra argumentet. För det yttre Andra argumentet, välj > bredvid.
  14. Klicka på rutan där det står Sträng.
  15. Välj Argument reference.
  16. Skriv nyckel-ID för det andra argumentet, i detta fall Z11057K2 (du kan se det på funktionssidan). I framtiden kommer detta att vara en listruta.
  17. Om du redan har tester (och det är en bra vana att börja med att skapa tester), klicka på den runda pilen och se om din implementering klarar testerna.

Om kompositionen klarar testerna kan du publicera den.