[Issue 9550] Repeat!fun(size_t n)

d-bugmail at puremagic.com d-bugmail at puremagic.com
Wed Feb 20 00:31:07 PST 2013


http://d.puremagic.com/issues/show_bug.cgi?id=9550



--- Comment #2 from Daniel Cousens <daniel350 at bigpond.com> 2013-02-20 00:31:05 PST ---
(In reply to comment #1)
> Isn't what you are asking for a special case of sequence that discards any and
> all input?
> 
> //----
> int fun(T)(T/+Tuple!()+/, uint n)
> {
>     static int i;
>     return ++++i;
> }
> 
> void main()
> {
>     auto a = sequence!fun();
>     writeln(a.take(10));
> }
> //----
> [2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
> //----
> 
> In this case "T" is a tuple containing the empty state, and n is the iteration
> count.
> 
> Apart from the fancy sig, it's what you are asking for.
> 
> Given that the signature of "fun" isn't specified yet, we could special case
> sequence for sequences that have no initial state, to simply call fun(n) (as
> well as be more efficient). 
> 
> I think it would be a good idea. So I'll look into doing that. PS: could you
> link the mentioned discussion, it could help.

Granted, that is what I'm asking for, but it seems as hackish (if not more
confusing) then the iota solution.

The sequence solution does not sound very intuitive given the fact the output
would change on each retrieval/take from the range.

The discussions have been over a many conversations, as I have run into this
problem several times now, and finally resolved it isn't just something I have
missed in phobos.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------


More information about the Digitalmars-d-bugs mailing list