Welcome to the Onshape forum! Ask questions and join in the discussions about everything Onshape.

First time visiting? Here are some places to start:
  1. Looking for a certain topic? Check out the categories filter or use Search (upper right).
  2. Need support? Ask a question to our Community Support category.
  3. Please submit support tickets for bugs but you can request improvements in the Product Feedback category.
  4. Be respectful, on topic and if you see a problem, Flag it.

If you would like to contact our Community Manager personally, feel free to send a private message or an email.

Cannot reference function Predicate as a variable.

Evan_ReeseEvan_Reese Member Posts: 1,288 PRO
I'm trying to use a predicate I've imported and I'm getting this error and I don't know what it means. Anybody know what I might be doing wrong?
Evan Reese / Principal and Industrial Designer with Ovyl
Website: ovyl.io

Best Answer

  • ilya_baranilya_baran Onshape Employees, Developers, HDM Posts: 1,114
    Answer ✓
    You can't reference top-level functions or predicates in variables.  So:
    predicate isNonzero(something)
    {
       something != 0;
    }

    const myPredicate = isNonzero; // Error -- not allowed
    const myPredicate = function(something) { return isNonzero(something); }; // Ok
    Ilya Baran \ VP, Architecture and FeatureScript \ Onshape Inc

Answers

  • _anton_anton Member, Onshape Employees Posts: 64
    Is the predicate ever not followed by arguments in parentheses, like a function call?
  • ilya_baranilya_baran Onshape Employees, Developers, HDM Posts: 1,114
    Answer ✓
    You can't reference top-level functions or predicates in variables.  So:
    predicate isNonzero(something)
    {
       something != 0;
    }

    const myPredicate = isNonzero; // Error -- not allowed
    const myPredicate = function(something) { return isNonzero(something); }; // Ok
    Ilya Baran \ VP, Architecture and FeatureScript \ Onshape Inc
  • Evan_ReeseEvan_Reese Member Posts: 1,288 PRO
    Got it, thanks guys!
    Evan Reese / Principal and Industrial Designer with Ovyl
    Website: ovyl.io
Sign In or Register to comment.