Zum Inhalt

Sprach-Grundlagen

moolang ist zweisprachig — Deutsch und Englisch funktionieren beide. Diese Seite zeigt die Deutsch-Variante, darunter jeweils den englischen Alias.

Variablen

setze x auf 5
setze name auf "Moritz"

Englisch: set x to 5

Konstanten (unveränderlich):

konstante PI auf 3.14159

Englisch: const PI to 3.14159

Datentypen

Typ Beispiel
Zahl 42, 3.14, -7
Text "Hallo", 'x'
Boolean wahr, falsch (true, false)
Nichts nichts (none)
Liste [1, 2, 3]
Dictionary {"a": 1, "b": 2}

Bedingungen

wenn x > 10:
    zeige "groß"
sonst:
    zeige "klein"

Englisch: if x > 10: ... else: ...

Schleifen

solange x < 100:
    setze x auf x + 1

für i in [1, 2, 3]:
    zeige i

Englisch: while, for i in ...

Funktionen

funktion quadrat(n):
    gib_zurück n * n

zeige quadrat(7)   # 49

Englisch: func quadrat(n): return n * n

Mit Default-Werten:

funktion begrüße(name = "Welt"):
    zeige "Hallo " + name

Lambdas:

setze verdoppeln auf lambda(x): x * 2
zeige verdoppeln(5)   # 10

Listen und Comprehensions

setze zahlen auf [1, 2, 3, 4, 5]
setze quadrate auf [n * n für n in zahlen]
setze gerade auf [n für n in zahlen wenn n % 2 == 0]

Module

# mathe.moo
exportiere funktion sinus(x):
    # ...

# main.moo
aus mathe importiere sinus
zeige sinus(3.14)

Oder:

importiere mathe
zeige mathe.sinus(3.14)

Klassen

klasse Punkt:
    funktion neu(selbst, x, y):
        selbst.x = x
        selbst.y = y

    funktion abstand(selbst, anderer):
        gib_zurück wurzel((selbst.x - anderer.x)**2 + (selbst.y - anderer.y)**2)

setze p auf neu Punkt(3, 4)
setze q auf neu Punkt(0, 0)
zeige p.abstand(q)   # 5.0

Weiterlesen

Vollständiges Tutorial mit allen Themen (JSON, HTTP, Regex, Dateien, Kryptografie, Threads, 2D/3D-Grafik): Tutorial.