[#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:4570] Re: Q's on Marshal
>>>>> "R" == Robert Feldt <feldt@ce.chalmers.se> writes:
R> I have an object in an extension that have some Fixnum's and some Bignum's
R> and some internal state (in char[1000]).
What you can do is create an array with contains :
* string (the internal state)
* fixnums, bignums
Now you can :
* return this array and let the user call Marshal#dump
* or call Marshal#dump on this object and return the result.
R> Anyone got a simple example using _dump and _load in an extension?
Well, this example is *completely* stupid, normally tt_restore must return
a good object (I've written it very quickly, verify it)
pigeon% cat toto.c
#include <ruby.h>
static VALUE tt_mMarshal;
static VALUE
tt_save(obj, limit)
VALUE obj, limit;
{
VALUE ary;
ary = rb_ary_new();
rb_ary_push(ary, rb_str_new("aaabbbb", 7));
rb_ary_push(ary, INT2NUM(12));
rb_ary_push(ary, rb_float_new(24));
return rb_funcall(tt_mMarshal, rb_intern("dump"), 1, ary);
}
static VALUE
tt_restore(obj, a)
VALUE obj, a;
{
VALUE ary;
ary = rb_funcall(tt_mMarshal, rb_intern("load"), 1, a);
rb_warn("result : %s %d %f",
RSTRING(RARRAY(ary)->ptr[0])->ptr,
NUM2INT(RARRAY(ary)->ptr[1]),
NUM2DBL(RARRAY(ary)->ptr[2]));
return Qtrue;
}
void
Init_toto()
{
VALUE toto, tt;
tt_mMarshal = rb_const_get(rb_cObject, rb_intern("Marshal"));
tt = rb_define_class("Tt", rb_cObject);
rb_define_method(tt, "_dump", tt_save, 1);
rb_define_singleton_method(tt, "_load", tt_restore, 1);
}
pigeon%
pigeon% cat b.rb
#!/usr/bin/ruby
require 'toto'
a = Tt.new
b = Marshal.dump(a)
p b
Marshal.load(b)
pigeon%
pigeon% b.rb
"\004\003u:\001\002Tt\001\027\004\003[\001\003\"\001\aaaabbbbi\001\ff\001..."
./b.rb:6: warning: result : aaabbbb 12 24.000000
pigeon%
Guy Decoux