2 ms·
two small suggestions: change .saving() to .mutable() and .rem() to .remove() (or filter(), reversing the semantics, since that is already in python) (every oth
by andrewcooke 15y ago
two small suggestions: change .saving() to .mutable() and .rem() to .remove() (or filter(), reversing the semantics, since that is already in python) (every other method is a full word).
also, maybe .mutable() would be better as a flag in the constructor. it makes no sense to use it in a chain (in fact, that could be confusing) and is the kind of thing you should probably fix on construction rather than changing later.
ps. it's not clear to me that this is better than list comprehensions, which already do much of what you have.
- phzbOx 15y agoThanks for the feedback; I agree with you. Here's the reasoning behind these odds choice.. List is-a list, and Dict is-a dict.. and thus, I'd like to make it possible to safely pass these objects to already existing code. If I rename .rem to .remove, I'd break that. The reason for the chaining saving() is because it's useful to be able to toggle it. For instance: self.x = Moka.List(range(1,10)).mutable() return (self.x.map(lambda x: x*2) .immutable() .keep(gt=5)) So, basically, you change self.x with the map, but don't necessarily want to change it with the keep(). (I'm not saying it is the right thing, just why it's done that way.)
- inportb 15y agoWhat if your mutation functions accepted a flag that set the saving behavior, and you used a sensible default?