Inedo Community Forums Forums
    • Recent
    • Tags
    • Popular
    • Login

    Welcome to the Inedo Forums! Check out the Forums Guide for help getting started.

    If you are experiencing any issues with the forum software, please visit the Contact Form on our website and let us know!

    Proper way to use $PSEval with boolean operations?

    Scheduled Pinned Locked Moved Support
    buildmasterpowershell
    2 Posts 2 Posters 11 Views 1 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • J Offline
      jharbison
      last edited by

      I am trying to use $PSEval to do some simple boolean comparisons but I'm not having any luck. If I run a simple plan like

      set $foo = true;
      set $bar = true;
      set $foobar = $PSEval($foo -and $bar);
      

      then I get an execution error that I cannot assign a vector value to a scalar variable. If I change $foobar to a vector (@foobar) and print out its contents it's just an empty array. Currently I've created a powershell asset to do the operation and return the result but it is a bit verbose to write

        PSCall GLOBAL::BooleanOperation
      (
          var1: $foo,
          var2: $bar,
          operator: and,
          returnValue => $foobar
      );
      

      so I was hoping there was a more "inline" way to accomplish this.

      Product: BuildMaster
      Version: 6.1.1

      1 Reply Last reply Reply Quote 0
      • jraschJ Offline
        jrasch inedo-engineer
        last edited by

        The problem is that OtterScript attempts to parse those variables first. Just use quotes:

        set $foo = true;
        set $bar = true;
        set $foobar = $PSEval("$foo -and $bar");
        
        Log-Information `$foobar = $foobar; # prints: $foobar = True
        
        1 Reply Last reply Reply Quote 0

        Hello! It looks like you're interested in this conversation, but you don't have an account yet.

        Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

        With your input, this post could be even better 💗

        Register Login
        • 1 / 1
        • First post
          Last post
        Inedo Website Home • Support Home • Code of Conduct • Forums Guide • Documentation