Raku-Kurs / Fortgeschritten / Subroutinen

Mehr zu MAIN-Unterprogrammen

Im Essentials-Teil haben Sie MAIN verwendet, um Kommandozeilenargumente zu empfangen. Raku bietet Ihnen rund um MAIN mehr als nur die Weitergabe der Werte.

Die Verwendungsmeldung

Wenn die Argumente auf der Kommandozeile nicht zur Signatur von MAIN passen, führt Raku den Körper nicht aus. Stattdessen gibt es eine automatisch generierte Verwendungsmeldung aus, die beschreibt, wie das Programm aufgerufen werden sollte.

Nehmen Sie dieses Programm:

sub MAIN($name) {
    say "Hello, $name!";
}

Korrekt aufgerufen, begruesst es die Person:

$ raku hello.raku Anna
Hello, Anna!

Ohne Argument aufgerufen, passt die Signatur nicht, und Raku gibt die Verwendungsmeldung anstelle der Begruessung aus:

$ raku hello.raku
Usage:
  hello.raku <name>

Die Meldung wird aus den Parameternamen erstellt. Wenn Sie ihnen aussagekraeftige Namen geben, wird der Hilfetext automatisch nützlich.

Benannte Argumente

Parameter von MAIN können sowohl benannt als auch positional sein. Ein benannter Parameter wird zu einem --option=wert-Schalter auf der Kommandozeile, und ein Standardwert macht ihn optional:

sub MAIN(:$name = 'World') {
    say "Hello, $name!";
}
$ raku hello.raku
Hello, World!

$ raku hello.raku --name=Raku
Hello, Raku!

Praxis

Lösen Sie 1 Quiz zum Inhalt dieses Themas.

Übungen

Dieser Abschnitt enthält 3 Übungen. Sehen Sie sich alle Themen dieses Abschnitts an, bevor Sie mit den Übungen beginnen.

  1. Ein Befehlszeilen-Flag
  2. Ein typisiertes MAIN
  3. Zwei Argumente addieren

Kursnavigation

Quiz — Dispatch mit where   |   Ein Befehlszeilen-Flag