- 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.