2010-02-26 3 views
1

Quelqu'un peut-il me dire, pourquoi le "opendir" ne fonctionne pas?Comment fonctionne opendir en Perl 6?

#!/usr/bin/env perl6 
use v6; 

my $file = 'Dokumente/test_file'; 

if (my $fh = open $file, :r) { 
    for $fh.lines -> $line { 
    say $line; 
    } 
} else { 
    say "Could not open '$file'"; 
} 


my $dir = 'Dokumente'; 

my $dh = opendir $dir err die "Could not open $dir: $!"; 

Sortie:

Bonjour, monde!
Ligne 2.
Dernière ligne.

Impossible de trouver le inexistante sous & opendir
instr .: courant '_block14' pc 29 (EVAL_1: 0)
appelé de sous pc 1163 (src/colle/run.pir 'UNIT_START!: 20
appelé de Sub 'perl6; PCL; HLLCompiler; eval' pc -1 ((fichier inconnu): - 1)
appelé de Sub 'perl6; PCL; HLLCompiler; evalfiles' pc 1303 (compilateurs/pct/src/PCT/HLLCompiler.pir: 707)
appelé à partir Sub 'perl6; PCT; HLLCompiler; command_line' pc 1489 (compilateurs/PCT/src/PCT/HLLCompiler.pir: 794)
appelé à partir Sub « perl6; Perl6; compilateur ; main 'pc -1 ((unkno fichier wn): - 1)

+0

Lorsque j'écris "my $ dh = $ dir.open();" alors le message d'erreur est: "Méthode 'ouverte' non trouvée pour invocant de la classe 'Perl6Str' ...". –

+0

Eh bien, ce n'est pas vraiment comme ça qu'on l'appelle. . . mais en tout cas, il semble que IO :: Directory n'ait pas encore été implémenté. Me sert juste pour ne pas essayer avant de poster. J'ai donc supprimé ma réponse. – dsolimano

Répondre

1

opendir n'est pas encore implémenté. Merci de déposer un rapport de bug en envoyant un mail à [email protected]

+0

Je pense que si une telle fonctionnalité n'est pas implémentée, alors ce n'est pas un secret. Mais n'y aura-t-il pas bientôt une version perl6-star? –

-1

Je n'ai pas Perl 6, mais il semblerait que vous appeliez opendir incorrectement. Cet extrait perl fonctionne pour moi:

my $dh; 
opendir $dh, '/home/ar' or die 'Could not open directory'; 
+1

Cela fonctionne, en Perl 5, mais pas en 6. – dsolimano

Questions connexes