Ciao,
Ho due domande su regex.
- Di seguito ho mostrato del codice. Sto creando colonne formula che analizzano le informazioni da un'altra colonna. Le formule prendono le informazioni corrette, ma si fermano SEMPRE alla riga 3024. I set di dati con cui lavoro possono essere decine o righe o molto più grandi.
dt << New column( "Column 1", formula( regex( :Other column, "pattern" ) ) );
dt << New column( "Column 2", formula( regex( :Other column, "pattern", "\1" ) ) );
dt << New column( "Column 3", formula( num( regex( :Other column, "pattern" ) ) ) );<BR /><BR />dt << Rerun Formulas; // Doesn't help!
- Nel debugger, sincronizzando il mio script, il timer indica che lo script è completo in ~ 1 secondo e che queste tre righe di codice occupano la maggior parte del tempo. Ci sono anche altre piccole cose in corso.Tuttavia, molto spesso, JMP si blocca durante l'esecuzione e devo interrompere l'esecuzione dello script nel debugger oppure devo terminare l'attività nel task manager.
Ho usato regex in for() e for each() e ho avuto problemi simili.Tuttavia, regex sembra for() e for each() di più, poiché la formula finisce regolarmente, ma il tempo necessario per completare l'esecuzione dello script blocca JMP e impiega molto tempo, se finisce del tutto.
Questo è uno scripting regex molto semplice. Ho fatto cose molto più complesse in cicli for per altri progetti, con set di dati molto più grandi. Il set di dati stesso è stato importato come CSV, ma questa è l'unica differenza che posso individuare tra esso e altri set di dati.Qualche idea su cosa sta succedendo?