Есть ли в perl6 метод класса, эквивалентный подпрограмме MAIN? - PullRequest
0 голосов
/ 11 мая 2018

Или похож на метод main () Java?Другими словами, метод, который выполняется первым, с возможностью чтения одного или нескольких параметров из терминала.

1 Ответ

0 голосов
/ 11 мая 2018

Да, и он называется MAIN и имеет автоматический анализ параметров терминала.Кроме того, это может быть даже multi sub (поддерживающий разные подписи), иметь значения по умолчанию, помечать как необходимые и выполнять проверку типа, например:

#|(optional description for USAGE message) 
sub MAIN( Int :$length = 24,
           :file($data) where { .IO.f // die "file not found in $*CWD" } = 'file.dat',
           Bool :v(:$verbose) #`( -verbose, --verbose, -v or --v ) )
{
    say $length if $length.defined;
    say $data   if $data.defined;
    say 'Verbosity ', ($verbose ?? 'on' !! 'off');

    exit 1;
}
...