proposed syntax change
Paul D. Anderson
paul.d.removethis.anderson at comcast.andthis.net
Thu Aug 6 12:06:49 PDT 2009
I was browsing the Python spec yesterday and came across this interesting and useful syntax:
"/" (one slash) means floating point division, e.g. 5/2 = 2.5 even though 5 and 2 are integers
"//" (two slashes) means integer (floor) division, e.g. 5.0//2.0 = 2.0 even though 5.0 and 2.0 are floats.
I've always been a little troubled by the standard division operator being dependent on the types of the operands. (I understand the need for it, I just didn't like it much.) Now here is an elegant (IMHO) solution.
It seems to me that this could be added to D with very little effort and would add a feature to the language.
Oh wait...I think "//" is used elsewhere. Well, we could still use it but mark it as a breaking change. Then users could simply remove all previous uses of "//" from their code. If they REALLY need to retain the old "//" functionality we could replace it with a new symbol. How about "--", like Ada? Oh wait...
I will also throw out (at no cost) a suggestion for the Python people: Why not make "/%" the divmod operator (returning the quotient and remainder)? It would return a tuple, but Python is used to that.
Paul
More information about the Digitalmars-d
mailing list