[#4341] DRY and embedded docs. — Hugh Sasse Staff Elec Eng <hgs@...>
If I have a here document in some ruby program:
[#4347] Re: DATA and rewind. — ts <decoux@...>
>>>>> "H" == Hugh Sasse Staff Elec Eng <hgs@dmu.ac.uk> writes:
[#4350] Re: Thirty-seven Reasons [Hal Fulton] Love[s] Ruby — "David Douthitt" <DDouthitt@...>
[#4396] Re: New Require (was: RAA development ideas (was: RE: Looking for inp ut on a 'links' page)) — Hugh Sasse Staff Elec Eng <hgs@...>
On 9 Aug 2000, Dave Thomas wrote:
[#4411] Re: RAA development ideas (was: RE: Lookin g for inp ut on a 'links' page) — Aleksi Niemel<aleksi.niemela@...>
Me:
On Thu, 10 Aug 2000, [iso-8859-1] Aleksi Niemelwrote:
[#4465] More RubyUnit questions. — Hugh Sasse Staff Elec Eng <hgs@...>
I am beginning to get a feel for this, but I still have a few more
[#4478] Re: RubyUnit. Warnings to be expected? — ts <decoux@...>
>>>>> "H" == Hugh Sasse Staff Elec Eng <hgs@dmu.ac.uk> writes:
[#4481] Invoking an extension after compilation — Dave Thomas <Dave@...>
Hi,
[#4501] What's the biggest Ruby development? — Dave Thomas <Dave@...>
[#4502] methods w/ ! giving nil — Hugh Sasse Staff Elec Eng <hgs@...>
I have got used to the idea that methods that end in '!' return nil if
[#4503] RubyUnit and encapsulation. — Hugh Sasse Staff Elec Eng <hgs@...>
My_class's instance variables are not all "attr :<name>" type variables,
[#4537] Process.wait bug + fix — Brian Fundakowski Feldman <green@...>
If your system uses the rb_waitpid() codepath of rb_f_wait(),
[#4567] Re: What's the biggest Ruby development? — Aleksi Niemel<aleksi.niemela@...>
Dave said:
Robert Feldt <feldt@ce.chalmers.se> writes:
On Sat, 26 Aug 2000, Dave Thomas wrote:
Robert Feldt <feldt@ce.chalmers.se> writes:
On Mon, 28 Aug 2000, Dave Thomas wrote:
Robert Feldt <feldt@ce.chalmers.se> writes:
[#4591] Can't get Tcl/Tk working — Stephen White <steve@...>
I can't get any of the samples in the ext/tk/sample directory working. All
I'm sure looking forwards to buying the book. :)
Stephen White <steve@deaf.org> writes:
On Sun, 27 Aug 2000, Dave Thomas wrote:
Stephen White <steve@deaf.org> writes:
[#4608] Class methods — Mark Slagell <ms@...>
Reading the thread about regexp matches made me wonder about this:
[#4611] mod_ruby 0.1.19 — shreeve@...2s.org (Steve Shreeve)
Shugo (and others),
[#4633] Printing tables — DaVinci <bombadil@...>
Hi.
[#4647] Function argument lists in parentheses? — Toby Hutton <thutton@...>
Hello,
[#4652] Andy and Dave's European Tour 2000 — Dave Thomas <Dave@...>
Hi,
[#4672] calling super from c — Robert Feldt <feldt@...>
[#4699] Double parenthesis — Klaus Spreckelsen <ks@...1.ruhr-uni-bochum.de>
Why is the first line ok, but the second line is not?
[ruby-talk:04398] diags from eval.
Can I get eval to be more specific when errors occur?
neelix hgs 86 %> cat raise_test
#!/usr/local/bin/ruby -w
# test of raising to get a better traceback
class Raisable < RuntimeError
def initialize(astring)
super
end
end
class Raise_test
def first_raise
raise Raisable.new("Raise error in first_raise")
end
def second_raise
begin
first_raise
# rescue
# raise
end
end
def initialize()
second_raise
end
end
raiser = Raise_test.new
neelix hgs 87 %> cat raise_test.patch
--- raise_test Thu Aug 10 12:52:16 2000
+++ raise_test.new Thu Aug 10 12:53:31 2000
@@ -2,6 +2,8 @@
# test of raising to get a better traceback
+text = <<END
+
class Raisable < RuntimeError
def initialize(astring)
super
@@ -27,4 +29,7 @@
raiser = Raise_test.new
+END
+a_binding = binding
+eval(text, a_binding)
neelix hgs 88 %> raise_test
raise_test:13:in `first_raise': Raise error in first_raise (Raisable)
from raise_test:18:in `second_raise'
from raise_test:24:in `initialize'
from raise_test:28:in `new'
from raise_test:28
neelix hgs 89 %> raise_test.new
raise_test.new:34:in `eval': (eval):10:in `first_raise': Raise error in
first_raise (Raisable)
from raise_test.new:34
neelix hgs 90 %>
The first is far more useful. This is with Ruby 1.4.4. I tried the
rescue clause enabled and commented out to see if this made any differnce
to the diagnostics but it does not, even under eval:
neelix hgs 94 %> ./raise_test.new2
./raise_test.new2:34:in `eval': (eval):10:in `first_raise': Raise error in
first_raise (Raisable)
from ./raise_test.new2:34
neelix hgs 95 %> /usr/local/bin/diff -u raise_test.new raise_test.new2
--- raise_test.new Thu Aug 10 12:53:31 2000
+++ raise_test.new2 Thu Aug 10 13:04:59 2000
@@ -18,8 +18,8 @@
def second_raise
begin
first_raise
- # rescue
- # raise
+ rescue
+ raise
end
end
def initialize()
neelix hgs 96 %>
So I don't know how to improve the traceback information.
Hugh
hgs@dmu.ac.uk