Kacarott@aussie.zone to Programmer Humor@lemmy.ml · 11 hours agoWhat the F#whatthefsharp.comexternal-linkmessage-square24fedilinkarrow-up176arrow-down11file-text
arrow-up175arrow-down1external-linkWhat the F#whatthefsharp.comKacarott@aussie.zone to Programmer Humor@lemmy.ml · 11 hours agomessage-square24fedilinkfile-text
minus-squareFourPacketsOfPeanuts@lemmy.worldlinkfedilinkarrow-up3·edit-23 hours agotrue, and i can’t think of a legitimate case where it would have tripped me up. but if someone, a novice perhaps, wrote def some_func(foo, bar=[1, 2, 3]): bar.reverse() # for whatever reason print(bar) some_func('hello') # output [3,2,1] some_func('hello') # output [1,2,3] i think they would be within their rights to be surprised that calling this function twice has different results. that’s what i was surprised by; it feels like bar would be re initialised each time with a scope of the function but apparenty not
true, and i can’t think of a legitimate case where it would have tripped me up. but if someone, a novice perhaps, wrote
def some_func(foo, bar=[1, 2, 3]): bar.reverse() # for whatever reason print(bar) some_func('hello') # output [3,2,1] some_func('hello') # output [1,2,3]
i think they would be within their rights to be surprised that calling this function twice has different results. that’s what i was surprised by; it feels like bar would be re initialised each time with a scope of the function but apparenty not