cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
JMP is taking Discovery online, April 16 and 18. Register today and join us for interactive sessions featuring popular presentation topics, networking, and discussions with the experts.
Choose Language Hide Translation Bar
martinschmid
Level II

Returning either list of rows or NULL in my function. How do I work with multiple return values in a jsl-script?

I guess my problem can be solved pretty easily.

I want to write a function, that either returns a list of row-numbers or NULL in dependency of an if-clause inside my function.

How can I handle multiple return values and how can I return NULL?

My function should look somehow like this:

myFunction = Function( {...}, {...},

     list = { ... };

     if(...)

          then return list

     else return NULL

);

I have already found this tutorial:

https://community.jmp.com/message/25472#25472

but what if I have multiple return values, like:

return1=...

return2=...

how do I handle these, and how do I return NULL then?

Thank You for your help!

1 ACCEPTED SOLUTION

Accepted Solutions
pmroz
Super User

Re: Returning either list of rows or NULL in my function. How do I work with multiple return values in a jsl-script?

Might be safer to return a 0-element list if your if clause doesn't find any row numbers. 

myFunction = Function( {...}, {...},

    my_list = {};

    if (my_test,

      my_list = {1, 2, 3};    // Test passed, return values

    );

      my_list;

);

one_list = myFunction(...);

if (nitems(one_list) > 0,

      // handle items in the list

);

View solution in original post

2 REPLIES 2
pmroz
Super User

Re: Returning either list of rows or NULL in my function. How do I work with multiple return values in a jsl-script?

Might be safer to return a 0-element list if your if clause doesn't find any row numbers. 

myFunction = Function( {...}, {...},

    my_list = {};

    if (my_test,

      my_list = {1, 2, 3};    // Test passed, return values

    );

      my_list;

);

one_list = myFunction(...);

if (nitems(one_list) > 0,

      // handle items in the list

);

martinschmid
Level II

Re: Returning either list of rows or NULL in my function. How do I work with multiple return values in a jsl-script?

Thank You!

This solved my problem.