@[email protected] to Programmer [email protected] • 1 month agoWhat the F#whatthefsharp.commessage-square29fedilinkarrow-up191arrow-down12file-text
arrow-up189arrow-down1external-linkWhat the F#whatthefsharp.com@[email protected] to Programmer [email protected] • 1 month agomessage-square29fedilinkfile-text
minus-square@FourPacketsOfPeanutslink6•edit-21 month 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