Avskiljare
Prev | Chapter 5. Grunderna i GEL | Next

## Avskiljare

GEL skiljer sig något från andra språk i hur det hanterar flera kommandon och funktioner. I GEL måste du skapa en kedja av kommandon med en avskiljaroperator. Det vill säga om du vill skriva mer än ett uttryck måste du använda `;`-operatorn mellan uttrycken. Detta är ett sätt så att båda uttrycken evalueras och att resultatet av det andra (eller det sista om det finns mer är två uttryck) returneras. Anta att du matar in följande:

    3 ; 5

Detta uttryck kommer att ge 5.

Detta kommer ibland att kräva parenteser för att göra det otvetydigt, särskilt om `;` inte är den översta primitiven. Detta skiljer sig något från andra programmeringsspråk där `;` terminerar satser, medan den i GEL faktiskt är en binär operator. Om du är bekant med pascal faller detta sig naturligt. Genius kan dock låta dig låtsas att den är en terminator i någon utsträckning. Om en `;` hittas i slutet på en parentes eller ett block kommer genius att lägga till ett null efter den som om du hade skrivit `;null`. Detta är användbart ifall du inte vill returnera ett värde från exempelvis en slinga, eller om du hanterar returvärdet på annat sätt.

Om du skriver uttryck i ett program måste du inte lägga till ett semikolon. I detta fall kommer genius helt enkelt att skriva ut returvärdet närhelst det exekverar uttrycket. Detta är samma som när du skriver på kommandoraden. Observera dock att om du definierar en funktion så är kroppen av funktionen ett enda uttryck. Vanligen kommer du därför behöva omsluta en funktionskropp med parenteser om den är lång.

Prev | Up | Next
Använda funktioner | Home | Kommentarer