Re: [RFC] Path to Saner Increment/Decrement operators

From: Date: Wed, 18 Jan 2023 17:57:15 +0000
Subject: Re: [RFC] Path to Saner Increment/Decrement operators
References: 1 2 3 4  Groups: php.internals 
Request: Send a blank email to internals+get-119327@lists.php.net to get a copy of this message
> Le 18 janv. 2023 à 18:27, Kamil Tekiela <tekiela246@gmail.com> a écrit : > > Strings should not be incrementable unless they are numeric strings. The > current "feature" is more like a bug from xkcd comic. > https://xkcd.com/1172/ > > But as there is a real need for a similar functionality, for example when > working with Excel, I would propose to add a class into the language that > is able to calculate and iterate any bijective base system. It needs to > have a clear functional spec and should support both increment/decrement > operators as well as iterators. I see this as the only way out of this > mess. This RFC needs to pass, but it cannot pass without an alternative for > people who actually use this "feature". For those that lack imagination about possible use cases, here is mine: generating unique (in the scope of the request) alphabetic ids: function nextid(): string { static $id = 'zz'; return ++$id; } But no over-engineering please: no class and no decrement equivalent (the latter could be added in a separate RFC if it is really deemed useful), just a plain function that replicate the current behaviour for strings of the form /^[A-Za-z0-9]*$/, minus the bugs around the peculiar notion of “numeric string” (e.g., "9E1" equivalent to 90). —Claude

« previous php.internals (#119327) next »