Neato

  • nxdefiant
    link
    fedilink
    arrow-up
    1
    ·
    2 months ago

    x = foo(y:=bar(), baz(), y) or z should work assuming foo bar and baz are functions being called?

    if this is setting y to the effect of bar() + running baz after, then:

    x = [bar(), baz()][0] or z

    might work

    and if you need y to be defined for later use:

    x = [(y:=bar()), baz()][0] or z

    but thats from memory, not sure if that will even run as written.

    if I get to a real computer I'll try that with an actual if statement instead of a bastardized ternary.
    • FizzyOrange@programming.dev
      link
      fedilink
      arrow-up
      2
      ·
      2 months ago

      foo isn’t a function, it’s a bool. But in any case, as you can see the answer is “with terrible hacks”. Python is not a functional language. It is imperative.

      • nxdefiant
        link
        fedilink
        arrow-up
        2
        arrow-down
        2
        ·
        2 months ago

        Yeah, never said it was, just that if you really want to emulate that style you mostly can.