Best way to make Until! into string

div0 div0 at users.sourceforge.net
Tue Jun 22 11:16:04 PDT 2010


On 22/06/2010 07:29, Jonathan M Davis wrote:
> Okay. If you call until like so
>
> str.until('\"')
>
> you get a Until!(pred,string,char). I want to turn that into a string.
> array() doesn't seem to do the trick right now. It used to work, but now it
> gives me
>
> main.d(47): Error: template std.array.array(Range) if (isForwardRange!
> (Range)) does not match any function template declaration
> main.d(47): Error: template std.array.array(Range) if (isForwardRange!
> (Range)) cannot deduce template function from argument types !()(Until!
> (pred,string,char))
>
> to!string just converts it into a string with the Until! stuff being
> included in the string rather than giving me the actual result, so that
> doesn't work.
>
> So, what is the correct and preferred way to convert the result of Until! to
> as string when you were searching on a string in the first place? The
> std.algorithm functions are definitely nice, but they have tendancy to
> return hard-to-use types.
>
> - Jonathan M Davis

Could be wrong, but strings aren't (conceptually) arrays any more.

They are bidirectional ranges which is why the array call doesn't work.
Though how you actually get a string back I don't know.

-- 
My enormous talent is exceeded only by my outrageous laziness.
http://www.ssTk.co.uk


More information about the Digitalmars-d-learn mailing list