ubuntuusers.de

Morgen Abend, der 05.10.2022 ab 19:00 Uhr, wird der E-Mail Dienst von Ubuntuusers kurzzeitig offline sein.

Io

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:


Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.

Ausbaufähige Anleitung

Dieser Anleitung fehlen noch einige Informationen. Wenn Du etwas verbessern kannst, dann editiere den Beitrag, um die Qualität des Wikis noch weiter zu verbessern.


Anmerkung: Das Paketmanager eerie kann noch beschrieben werden.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

Io 🇬🇧 ist eine strikt objektorientierte, prototypenbasierte Programmiersprache. Die Sprache hat eine klare Syntax mit minimalistischen Ansätzen, der eigentliche Parser der Sprache ist sehr kompakt und verbraucht wenig Speicher. Weiterhin ist Io dadurch, ähnlich wie Lua, einbettbar. Io ist durch Module erweiterbar.

Io besitzt Sprachkonstrukte, die den Umgang mit Nebenläufigkeit stark erleichtern und es somit recht einfach macht, entsprechende Programm zu schreiben.

Installation

einzelnes Paket

Io nicht in den Paketquellen enthalten, es wird auf der Projektseite aber ein DEB-Pakete bereit gestellt. Dazu geht man auf die Seite https://iolanguage.org/binaries.html 🇬🇧 und wählt das Paket der mit der passenden Architektur (also z.B. x64deb). Es wird ein Archiv heruntergeladen, das man entpackt[1], dann kann man das darin enthaltene DEB-Paket installieren[2].

Benutzung

Io besitzt einen interaktive Kommandozeile, welche durch den Aufruf von

io 

gestartet wird.

Natürlich kann man auch Io-Programme mit einem beliebigem Editor erstellen, diese mit der Dateieindung .io abspeichern und dann per

io mein_programm.io 

aufrufen.

Das obligatorische „Hallo Welt“ sieht am interaktiven Prompt eingegeben so aus:

Io> "Hallo Welt" println
Hallo Welt
==> Hallo Welt 

Hier wird auch eines der Grundkonzepte sichtbar: Im Io-Jargon ist println kein Befehl, sondern eine „Message“ (auf Deutsch: „Nachricht“). Die Message steht rechts und wird an den links stehenden „Receiver“ (auf Deutsch: „Empfänger“) gesendet. In Io sind die allermeisten Befehle Messages.

Wie in der Einleitung bereits erwähnt, ist Io prototypenbasiert und objektorientiert. Alles ist ein Objekt, es gibt keine Klassen. Neue Objekte werden von bestehenden Objekten abgeleitet, wobei noch zu erwähnen ist, dass Objekte in Io per Konvention mit einem Großbuchstaben beginnen müssen. Jedes Objekt kann beliebige Schlüssel-Werte Paare beinhalten, welche in „Slots“ abgelegt werden. Der Wert kann dabei ein Objekt, eine Funktion usw. sein.

Im folgenden Beispiel wird am interaktiven Prompt ein neues Objekt „Ubuntu“ angelegt, der Schlüssel „Typ“ mit dem Wert „Linux Distribution“ hinzugefügt und eine Methode erstellt, welche die Länge des Werts des Schlüssels „Typ“ zurück gibt. Anschließend werden sowohl der Schlüssel als auch die Methode aufgerufen:

Io> Ubuntu := Object clone
==>  Ubuntu_0x190d920:
  type             = "Ubuntu"

Io> Ubuntu Typ := "Linux Distribution"
==> Linux Distribution
Io> Ubuntu Info := method(self Typ size)
==> method(
    self Typ size
)
Io> Ubuntu Typ
==> Linux Distribution
Io> Ubuntu Info
==> 18 

Alle Slots eines Objekts kann man wie folgt anzeigen lassen:

Io> Ubuntu slotNames
==> list(type, Info, Typ) 

Diese werden dann als Liste zurück gegeben.

Diese Revision wurde am 19. Mai 2021 09:42 von noisefloor erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Programmierung