cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Try the Materials Informatics Toolkit, which is designed to easily handle SMILES data. This and other helpful add-ins are available in the JMP® Marketplace
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.