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

Reply via email to