[#11073] segfault printing instruction sequence for iterator — <noreply@...>
Bugs item #10527, was opened at 2007-05-02 14:42
Hi,
On Thu, May 10, 2007 at 04:51:18PM +0900, Nobuyoshi Nakada wrote:
Hi,
Hi,
This seems to make valgrind much happier.
On Thu, May 17, 2007 at 11:14:35PM +0900, Paul Brannan wrote:
Hi,
Now 'a' shows up twice in the local table:
Hi,
[#11082] Understanding code: Kernel#require and blocks. — Hugh Sasse <hgs@...>
I'm trying to debug a Rails application which complains about an
On 5/4/07, Hugh Sasse <hgs@dmu.ac.uk> wrote:
On Fri, 4 May 2007, George wrote:
On Fri, May 04, 2007 at 06:18:19PM +0900, Hugh Sasse wrote:
[#11108] pattern for implementation-private constants? — David Flanagan <david@...>
Hi,
I believe there isn't a way, but I don't think it's really necessary. Just
[#11127] Bugs that can be closed — "Jano Svitok" <jan.svitok@...>
I propose closing these bugs as invalid:
[#11145] Rational comparison to 0 fails when denominator is != 1 — <noreply@...>
Bugs item #10739, was opened at 2007-05-10 22:06
Hi,
[#11169] Allow back reference with nest level in Oniguruma for Ruby again — =?ISO-8859-15?Q?Wolfgang_N=E1dasi-Donner?= <wonado@...>
Remark: I posted this text in comp.lang.ruby first, but Matz told me,
Does it make sense or is it required to write this as a RCR?
[#11176] FileUtils.rm_rf misfeature? — johan556@...
Hi!
[#11210] Pathname ascend and descend inclusive parameter — TRANS <transfire@...>
I would like to suggest that Pathname#ascend and Pathname#descend
[#11234] Planning to release 1.8.6 errata — Urabe Shyouhei <shyouhei@...>
Hi all.
On 25/05/07, Urabe Shyouhei <shyouhei@ruby-lang.org> wrote:
[#11252] Init_stack and ruby_init_stack fail to reinit stack (threads problem?) — <noreply@...>
Bugs item #11134, was opened at 2007-05-25 12:14
Hi,
Nobuyoshi Nakada wrote:
[#11255] ruby_1_8_6 build problem (make install-doc) — johan556@...
Hi!
[#11271] providing better support through rubyforge tracker categories — Ryan Davis <ryand-ruby@...>
I'm going to make more categories for the trackers (bugs and patches)
[#11367] BUG: next in lambda: 1.8.6 differs from 1.8.4 and 1.9.0 — David Flanagan <david@...>
A toplevel next statement in a lambda does not return a value in 1.8.6,
[#11368] $2000 USD Reward for help fixing Segmentation Fault in GC — Brent Roman <brent@...>
Hi Brent,
[ ruby-Bugs-10598 ] return from block inside a lambda does not work as expected
Bugs item #10598, was opened at 2007-05-04 20:00
You can respond by visiting:
http://rubyforge.org/tracker/?func=detail&atid=1698&aid=10598&group_id=426
Category: Core
Group: 1.8.x
Status: Open
Resolution: None
Priority: 3
Submitted By: Jeff Reinecke (paploo)
Assigned to: Nobody (None)
Summary: return from block inside a lambda does not work as expected
Initial Comment:
As I understand it, a lambda block is different than a Proc.new block in that return works like it does in functions, allowing you to essentially create inline anonymous functions that have access to the variable scope in which it is defined. (This is great for some complex algorithms).
When trying to use this functionality with a lambda function that, inside of it had several levels of iteration utilizing Range#each, I found that doing a return from within any of the blocks used by Range#each would return the whole top level function, not just the lambda.
This is inconsistent with both what I'd expect, and what return does if it is used anywhere else in a labmda block.
As an example, please consider the following trivial and highly contrived example. A call to foo returns out of the defined lambda block m, assigning the variable q and returning from foo properly, when v is negative. However, if v is positive and the iteration over the range is executed, the return returns from both m and foo, skipping the assignment to q and the further processing that foo does to that result, and instead returns n straight out of foo. (I bet that was hard to follow) :)
def foo(value)
m = lambda do |v|
return "v is negative" if v < 0
(5...100).each do |n|
#This line returns from the whole method, not just from the block!
return n if v.modulo(n).zero?
end
return false
end
q = m.call(value)
return "ANSWER: #{q.inspect}"
end
----------------------------------------------------------------------
You can respond by visiting:
http://rubyforge.org/tracker/?func=detail&atid=1698&aid=10598&group_id=426