Steven Bethard wrote:
My only fear with the / operator is that we'll end up with the same problems we have for using % in string formatting -- the order of operations might not be what users expect. Since join is conceptually an addition-like operator, I would expect:
Path('home') / 'a' * 5
to give me:
home/aaaaa
If I understand it right, it would actually give me something like:
home/ahome/ahome/ahome/ahome/a
Is there any very deep magic that says / is the One True Operator to use for this, given that there's to be an operator for it? For instance, & has lower correct precedence (so that Path('home') & 'a'*5 does something less unexpected), and doesn't look quite so much as if it denotes arithmetic, and avoids semantic interference from the idea that "/" should divide things or make them smaller. (Though, for what it's worth, I think sticking another subdirectory onto a path *is* dividing and making smaller: think of a path as representing a subtree.) You do lose the pun on the Unix path separator, which is a shame. -- g