Posted by
lechristophe on
Sep 29, 2013; 11:24am
URL: http://imagej.273.s1.nabble.com/Re-continue-equivalent-on-macro-language-for-loop-control-tp5004972p5004973.html
Hi Carnë and Wayne,
Just a side note for Carnë and other macro-writing listers: it's possible
to use functions for this, using a conditional return when the condition
isn't met. Functions usually make your code much easier to manipulate.
so that would be (it's just quick and dirty pseudocode, there must be some
syntax errors in it):
macro "my_macro" {
for (i = 0; i < lengthOf(file_list); i++) {
treatFile(file_list[i]);
}
}
function treatFile(path){
// check if file exists before opening. Skip if it's no longer there
if(File.exists(path) {
file.open(path);
}
else {
print ("File disappeared. Skipping");
return;
}
// Do very smart image analysis here
}
Cheers,
Christophe
On Sun, Sep 29, 2013 at 6:34 AM, Rasband, Wayne (NIH/NIMH) [E] <
[hidden email]> wrote:
> On Mar 15, 2011, at 6:13 PM, Carnë Draug wrote:
>
> > Hi everyone,
> >
> > is there any equivalent to 'continue' in a for loop in the macro
> > language? I'm inside a foor loop and want to skip to the next value in
> > the loop if a certain condition is not meet. Here's a bit of code
> > example
> >
> > // get list of files and options
> >
> > for (i = 0; i < lengthOf(file_list); i++) {
> > // check if file exists before opening. Skip if it's no longer there
> > if(File.exists(file_list[i]) {
> > file.open(file_list[i]);
> > } else {
> > print ("File disappeared. Skipping");
> > continue;
> > }
> > // Do very smart image analysis here
> > }
> >
> > I tried continue and it doesn't work. "next" also doesn't. Any help
> > would be appreciated.
>
> ImageJ 1.48d adds support for 'continue' and 'break' statements to the
> macro language.
>
> -wayne
>
> --
> ImageJ mailing list:
http://imagej.nih.gov/ij/list.html>
--
ImageJ mailing list:
http://imagej.nih.gov/ij/list.html