You are here

Hallo Welt in Ada

Artikel: 
  •  with Ada.Wide_Wide_Text_IO;

 

  • procedure HalloWelt
  • is begin

 

  • Ada.Wide_Wide_Text_IO.Put (Item => "Hallo Welt");

 

  • end HalloWelt;

 

Durch den Befehl with wird das Paket Ada.Wide_Wide_Text_IO dem Programm hinzugefügt. Dieses Paket gehört zur Ada-Standardbibliothek und enthält Prozeduren/Funktionen die für Texteingabe und -ausgabe nötig sind. Durch das Hinzufügen ist es dann möglich auf jede öffentliche Funktion, Prozedur, Datentyp, Variable, usw., die Ada.Wide_Wide_Text_IO enthält, zuzugreifen. Es enthält unter anderem mehrere Versionen der Procedure Put, wobei jene gewählt wird welche der jeweiligen Übergabe entspricht. In diesem Fall wird die Übergabe eines Wide_Wide_String erwartet, was hier Form von "Hallo Welt" stattfindet.

 

 

 

  • with Ada.Wide_Wide_Text_IO;
  • use Ada.Wide_Wide_Text_IO;

 

  • procedure HalloWelt
  • is begin

 

  • Put (Item => "Hallo Welt");

 

  • end HalloWelt;

 

Durch die Verwendung von use kann man direkt auf die öffentlichen Bestandteile von Ada.Wide_Wide_Text_IO zugreifen. Dadurch reduziert sich die Menge an Programmcode der zu schreiben ist. Allerdings kann es auch zu Problemen und Unübersichtlichkeiten kommen, wenn beispielsweise mehrere Pakete Prozeduren/Funktionen mit dem gleichen Namen enthalten. Persönlich verwende ich use nur bei Standardpaketen und häufig genutzten, eigenen, Paketen, so werde ich es auch in meinen Ada Tutorials verwenden.

 

 

 

  • with Ada.Wide_Wide_Text_IO;

 

  • procedure HalloWelt
  • is

 

  • package Text rename Ada.Wide_Wide_Text_IO;

 

  • begin

 

  • Text.Put (Item => "Hallo Welt");

 

  • end HalloWelt;

 

Durch die Verwendung von rename kann man jedem Paket einen neuen Namen geben. Dadurch kann man zum Beispiel die Schreibarbeit reduzieren und gleichzeitig Konflikte zwischen Befehlen vermeiden.

 

 

 

HalloWelt.ads:

  • package HalloWelt is

 

  • procedure HalloWeltProcedure;

 

  • end HalloWelt;

 

 

HalloWelt.adb:

  • with Ada.Wide_Wide_Text_IO;

 

  • package body HalloWelt is

 

  • procedure HalloWeltProcedure
  • is begin

 

  • Ada.Wide_Wide_Text_IO.Put (Item => "Hallo Welt");

 

  • end HalloWeltProcedure;

 

  • end HalloWelt

 

Um HalloWelt auch außerhalb seiner Startdatei zu nutzen, muss man die Aufteilung in .ads und .adb Dateien berücksichtigen. Dabei kann eine Prozedur/Funktion auch den gleichen Namen haben wie das Paket selbst. Es ist also möglich HalloWeltProcedure durch HalloWelt zu ersetzen. Dabei ist zu beachten dass mehrere gleichnamige Prozeduren/Funktionen nur zulässig sind, wenn die Übergabeparameter sich unterscheiden, sonst kommt es zu einem Fehler beim Kompilieren der auf die Mehrfachbenennung hinweist.