Domanda

Avere solo una domanda generale che è venuta in giro mentre stavo giocando con alcune cose che ho codificato.Mi stavo chiedendo se c'è un modo per interrompere una parte specifica del programma basata sul feedback degli utenti (mi scuso se sto migliorando la terminologia qui) diverso da Die ();Dal momento che finisce l'intero programma.

Ecco il codice:

if ($choice eq 'y'){
print "\nHit diagnostics: \n";
{
my $hitList=@hitList;
for (my $i=0; $i<$hitList; $i++){
    print $hitList[$i]."\n";
    #segmented listout of misses with interrupt 
    if(($i%4) eq 0){
        print "CONTINUE or Q to end\n";
        my $next=<>;
        chomp($next);
        if(lc($next) eq 'q'){
            **die "Killing request...\n";**
            }
        }
    }
}
.

Così fondamentalmente voglio solo che l'utente sia in grado di porre fine al modulo se loop se decidono ad un certo punto che non vogliono effettivamente vedere l'intera lista, ma è ancora in grado di continuare (c'è un prompt Missin seguito anche) con il programma.

è il modo migliore per farlo solo per utilizzare una variabile come "switch" per determinare se l'elenco di successo dovrebbe continuare?Mi chiedo solo se c'è una soluzione più accettabile / elegante.

È stato utile?

Soluzione

for my $i (0..$hitList-1) {
   ...
   if (...) {
       last;
   }
   ...
}
.

last

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top