Rust dev, I enjoy reading and playing games, I also usually like to spend time with friends.

You can reach me on mastodon @sukhmel@mastodon.online or telegram @sukhmel@tg

  • 0 Posts
  • 4 Comments
Joined 2 years ago
cake
Cake day: July 3rd, 2023

help-circle
  • Yeah, I wrote code and pressed get URL, but then I copied what was shown in the window

    The clipboard content:

    https://memory-graph.com/#code=+%23+What+is%2Bthe+output+of+this+Python+program%3F%0A+++%0Adef+fun%28a+%3D+%5B%5D%29%3A+%0A++++a+%2B%3D+%5B1%5D%0A++++return+a%0Afun%28%29+print%28fun%28%29%29
    

    The window text:

    The following URL has been copied to your clipboard with:
    
        The current code
        Set breakpoints
        Playback timestep
        Play/Pause state
    
    https://memory-graph.com/#code=+%23+What+is+the+output+of+this+Python+program? +++ def+fun(a+=+[]):+ ++++a++=+[1] ++++return+a fun()+print(fun())
    

    The latter doesn’t work, and I didn’t think of checking the former


  • There’s also a gotcha with default parameters:

    def fun(a = []):
        a += [1]
        return a
    
    fun()
    print(fun()) # [1, 1]
    
    issues I had with the tool you linked

    I tried to make a link to this code in this visual debugger, but a link is made broken and can’t be used without urlencoding spaces (I guess). Also the tool doesn’t produce visual output in DuckDuckGo browser on Android


  • To be fair, I had to read the linked question on SO to understand what was the possible alternative. I do expect that if I use += it is in place.

    On the other hand with Python and Java I always keep forgetting if everything is by value or by reference, I really miss some extra clarity of the languages where you can see if something is mutable when passed to a function