why doesn't formattedRead take args by ref instead of by pointer?
Dmitry Olshansky
dmitry.olsh at gmail.com
Sat Aug 17 02:25:46 PDT 2013
17-Aug-2013 12:53, Timothee Cour пишет:
> adding an overload would increases likelihood for bugs but could be
> possible. The same holds for getopt.
>
> Another question:
> the documentation for formattedRead is quite sparse, how does it explain
> the following behavior:
>
> string s="a1 a2 a3";
> string a,b;
> uint n=formattedRead(s,"%s %s",&a,&b);
> assert(a=="a1" && b=="a2 a3");
>
Seems like "a1_a2 a3" with _ being matched as space in format string
between %s and %s.
Why %s is not stopping on any whitespace as is (like scanf) I'm not 100%
sure.
>
>
> On Mon, May 20, 2013 at 10:44 PM, Dmitry Olshansky
> <dmitry.olsh at gmail.com <mailto:dmitry.olsh at gmail.com>> wrote:
>
> 21-May-2013 01:39, Timothee Cour пишет:
>
> That was indeed what I was using in my updated ref based
> reimplementation of formattedRead (see my original post for the
> link),
> and the other functions getopt, readf) are the same AFAIK.
>
> so why not add it to phobos:
> it's safer (no null / invalid pointers)
> simpler user code
> more consistent with rest of phobos
>
> we could either make the existing by pointer functions enter a
> deprecation path, or add a 'formattedReadRef' version for all those
> functions.
>
> Thoughts?
>
>
> You can just add an overload I bet. Since you can't read a pointer
> and &x is an r-value and (thank god) there wasn't decision to allow
> r-value as plain ref.
>
>
> --
> Dmitry Olshansky
>
>
--
Dmitry Olshansky
More information about the Digitalmars-d-learn
mailing list