std.algorithm's remove
bearophile
bearophileHUGS at lycos.com
Sat Aug 24 20:19:19 PDT 2013
maarten van damme:
> Is there any way I could've known this?
For me it was "obvious" even before reading the documentation
that a remove function is meant to be in-place. But of course you
could have different ideas.
> (apart from reading the documentation on every single
> trivial function in the std library?)
Before using every function from the standard library you have to
read its documentation, this is sure. You can not assume its
behavour to be exactly the same you hope it to have. This is true
for languages as Python too.
Regarding your very quickly written D code, I suggest to decrease
the indents size, put a space around operators, put
immutable/const to everything that doesn't need to change (unless
there are problems doing so). I also suggest to use UFCS chains,
because they are more readable for this kind of code. Instead of
the readln()[0..$-1] you could chomp, strip or do not retain
newlines. Instead of array(splitter) it's simpler to just split.
Instead of chain.length==0 it's better to use empty. The foreach
usually doesn't need a type, and probably your for loop could
written as a better foreach. I also suggest to add contracts to
your code. Instead of returning a "can't be solved", probably
there are stronger typed solutions, like using an Algebraic or
Nullable.
Bye,
bearophile
More information about the Digitalmars-d-learn
mailing list