Ri: Problema con l'intervallo di pedice durante l'aumento del ciclo forCIAO,
Penso che il tuo problema sia che N Cols (dt) aumenta dopo ogni iterazione del tuo ciclo. Pertanto, il valore dell'indice "i" supera il numero di elementi nell'elenco collist.
Suggerisco di catturare il numero di colonne in dt fuori dal ciclo e di usarlo come limite fisso.
path = "my file path with filename.jmp";
dt= open(path);
collist = dt <<GET column="" names=""></GET>
Da notare, non sono sicuro del perché il ciclo inverso funzioni. Dovresti riscontrare un problema simile con la tua variabile collist.
Facci sapere se questo risolve il tuo problema.
Migliore,
ST
Ri: Problema con l'intervallo di pedice durante l'aumento del ciclo forColpi,
Sì, l'errore scompare. Tuttavia, utilizzo sempre i<= N Cols (dt) e nessun problema. Non capisco perché in questa situazione lo stesso metodo non è riuscito?
Ri: Problema con l'intervallo di pedice durante l'aumento del ciclo for@Thierry_S il ciclo inverso cattura ncols(dt) all'inizio del ciclo, esattamente una volta.
@dadawasozo
- il ciclo inverso non è esattamente lo stesso perché usa >colnumber+1 e probabilmente dovrebbe essere >=colnumber+1 per corrispondere al ciclo forward non funzionante.
- Nel ciclo in avanti, ncols(dt) viene rivalutato ogni volta che esegue un ciclo e continua a ingrandirsi, ma collist non si ingrandisce, quindi alla fine il pedice fallisce.
mi piace @Thierry_S soluzione.
Problema con l'intervallo di pedice durante l'aumento del ciclo forHo ricevuto l'errore "Intervallo pedice in accesso o valutazione di 'collist[ /*####*/i]' , collist[/*####*/i]" durante l'esecuzione di una semplice nuova colonna () con l'aumento del ciclo for. Sono in grado di risolverlo usando il ciclo for decrescente. Tuttavia, voglio che la colonna creata segua l'aumento per il ciclo. Non capisco cosa causi l'errore quando si utilizza l'aumento per il ciclo qui. Qualcuno può fornire suggerimenti su come posso utilizzare l'aumento per il ciclo qui? se possibile, qualcuno può aiutare a spiegare perché l'errore si verificherà per l'aumento del ciclo for?
path = "my file path with filename.jmp";
dt= open(path);
collist = dt <<GET column="" names="">colnumber+1,i--, fixed issue but created column order inverted
dt <<NEW column=""></NEW></GET>
Automazione e scriptingConsumatori e ricerche di mercatoAccesso ai datiQualità e ingegneria di processo