[#2332] Ruby-Python fusion? — mrilu <mrilu@...>
Usually I give some time for news to settle before I pass the word, but
7 messages
2000/04/01
[#2353] Re: Function of Array.filter surprises me — schneik@...
5 messages
2000/04/03
[#2361] crontab — Hugh Sasse Staff Elec Eng <hgs@...>
I want to have a program that may be run between certain times.
11 messages
2000/04/05
[#2375] Marshal: Want string out, but want depth specified? — Hugh Sasse Staff Elec Eng <hgs@...>
@encoded = [Marshal.dump(@decoded, , depth)].pack("m")
7 messages
2000/04/07
[#2378] Re: Marshal: Want string out, but want depth specified?
— matz@... (Yukihiro Matsumoto)
2000/04/07
Hi,
[#2376] Iterator into array — Dave Thomas <Dave@...>
15 messages
2000/04/07
[#2397] Could missing 'end' be reported better? — mrilu <mrilu@...>
I'm not sure one could easily parse, or moreover report, this error better.
5 messages
2000/04/08
[#2404] Re: Iterator into array — Andrew Hunt <andy@...>
>It's still possible to introduce a new syntax for collecting yielded
6 messages
2000/04/08
[#2412] Re: Could missing 'end' be reported better? — h.fulton@...
7 messages
2000/04/09
[#2414] Re: Could missing 'end' be reported better?
— matz@... (Yukihiro Matsumoto)
2000/04/09
Hi,
[#2429] Please join me, I'm Hashing documentation — mrilu <mrilu@...>
This is a story about my hashing ventures, try to bear with me.
5 messages
2000/04/10
[#2459] Precedence question — Dave Thomas <Dave@...>
7 messages
2000/04/12
[#2474] Ruby 1.4.4 — Yukihiro Matsumoto <matz@...>
Ruby 1.4.4 is out, check out:
5 messages
2000/04/14
[#2494] ANNOUNCE : PL/Ruby — ts <decoux@...>
7 messages
2000/04/17
[#2514] frozen behavior — Andrew Hunt <Andy@...>
7 messages
2000/04/19
[#2530] Re: 'in' vs. 'into' — Andrew Hunt <andy@...>
>Hmm, I've not decided yet. Here's the list of options:
6 messages
2000/04/20
[#2535] Default naming for iterator parameters — mrilu <mrilu@...>
I'm back at my computer after some traveling. I know I think Ruby
5 messages
2000/04/20
[#2598] different thread semantics 1.4.3 -> 1.4.4 — hipster <hipster@...4all.nl>
Hi fellow rubies,
4 messages
2000/04/28
[ruby-talk:02388] Re: Iterator into array
From:
Clemens Hintze <c.hintze@...>
Date:
2000-04-07 23:23:52 UTC
List:
ruby-talk #2388
Dave Thomas writes:
> kjana@os.xaxon.ne.jp (YANAGAWA Kazuhisa) writes:
...
> Say I have a method which generates Fibonacci numbers to to a limit:
>
> def fibUpTo(max)
> i1, i2 = 1, 1
> while i1 <= max
> yield i1
> i1, i2 = i2, i1+i2
> end
> end
>
> I can do something like
>
> result = []
> fibUpTo(20) { |f| result << f }
>
> to collect the results into an array. However, to use Enumerable,
> wouldn't I have to wrap it all in a class?
...
> This just seems like a lot of work (he said, lazily). It would be nice
> to be able to use the iterator method directly to achieve the same
> thing.
But I could not imagine how it should work! Look onto your 'fibUpTo'
method. It returns nothing. From where should the values you want to
have come from?
The only I could think of would be:
def collectIteratorArgs(mid, *args)
res = Array.new
mid = method(mid.id2name) if mid.is_a? Symbol
mid.call(*args) { | *n | res += n }
res
end
def fibUpTo(max)
i1, i2 = 1, 1
while i1 <= max
yield i1
i1, i2 = i2, i1+i2
end
end
p collectIteratorArgs(:fibUpTo, 20)
p collectIteratorArgs({1=>"hello",2=>"world"}.method("each_pair"))
or:
def collector(res)
proc { | *n | res.push *n }
end
fibUpTo(20, &collector(result=[])); p result
{1=>"hello",2=>"world"}.each_pair &collector(result=[]); p result
But cannot find another way right now. Sorry!
> Dave
\cle
--
Clemens Hintze mailto: c.hintze@gmx.net