[#54640] bRuby? — Austin Ziegler <austin@...>

Can anyone explain to me what Yuya's package bRuby

16 messages 2002/11/01
[#54646] Re: bRuby? — Matt Gushee <mgushee@...> 2002/11/01

On Fri, Nov 01, 2002 at 11:40:51AM +0900, Austin Ziegler wrote:

[#55128] Re: bRuby? (Yet another Ruby parser) — ptkwt@...1.aracnet.com (Phil Tomson) 2002/11/07

In article <20021107151904lBE13F@ohmsha.co.jp>,

[#54839] rubyconf notes — Pat Eyler <pate@...>

On Saturday Night, I recommended that attendees of Ruby Conf send off

38 messages 2002/11/04
[#54881] Matz Roundtable Summary (was Re: rubyconf notes) — Paul Duncan <pabs@...> 2002/11/05

Below is my pieced together summary of matz's roundtable summary. It's

[#54862] A vision for Parrot — Daniel Pfeiffer <occitan@...>

Hi,

80 messages 2002/11/04

[#54889] PGP on the list (was: Re: Matz Roundtable Summary) — Eric Hodel <drbrain@...7.net>

Paul Duncan (pabs@pablotron.org) wrote:

12 messages 2002/11/05

[#54906] Win32 support issues — "Gavin Sinclair" <gsinclair@...>

<quote source="roundtable">

14 messages 2002/11/05

[#55091] PGP signatures — "Gavin Sinclair" <gsinclair@...>

From: "Paul Duncan" <pabs@pablotron.org>

18 messages 2002/11/07

[#55149] Making Instace Variables Private/Local — William Djaja Tjokroaminata <billtj@...>

Hi Matz,

27 messages 2002/11/07

[#55221] CPAN Style installer — Tom Clarke <tom@...2i.com>

Hi all,

30 messages 2002/11/08
[#55233] Re: CPAN Style installer — ptkwt@...1.aracnet.com (Phil Tomson) 2002/11/08

In article <Pine.LNX.4.44.0211071926160.7998-100000@localhost.localdomain>,

[#55241] Re: CPAN Style installer — Tom Clarke <tom@...2i.com> 2002/11/08

On Fri, 8 Nov 2002, Phil Tomson wrote:

[#55290] Re: CPAN Style installer — " JamesBritt" <james@...> 2002/11/08

>

[#55291] Re: CPAN Style installer — tom <tom@...2i.com> 2002/11/08

On Sat, 9 Nov 2002, JamesBritt wrote:

[#55304] Re: CPAN Style installer — " JamesBritt" <james@...> 2002/11/08

> From: tom [mailto:tom@u2i.com]

[#55258] Beginner Question (Idiomatic way to subset an array — "Booth, Peter" <Peter.Booth@...>

I'm wondering if there is a more idiomatic way to do the following?

20 messages 2002/11/08
[#55261] Re: Beginner Question (Idiomatic way to subset an array — ahoward <ahoward@...> 2002/11/08

On Fri, 8 Nov 2002, Booth, Peter wrote:

[#55268] return MyClass.new vs self.type.send :new — ahoward <ahoward@...> 2002/11/08

[#55361] Lighting Rod — Eric Armstrong <eric.armstrong@...>

I love Ruby's smalltalk features. I really do.

16 messages 2002/11/09

[#55369] Why use 'include' — Eric Schwartz <emschwar@...>

As requested, here's a FAQ question & answer on the usage of modules

13 messages 2002/11/09

[#55372] Random idea: Procedural CGI?? — "Hal E. Fulton" <hal9000@...>

I've been musing about something today,

17 messages 2002/11/09

[#55442] Recording of the Ruby segement on LL2 — Yohanes Santoso <ysantoso@...>

Hi all,

22 messages 2002/11/09

[#55461] www.ruby-doc.org — " JamesBritt" <james@...>

Jim Freeze's presentation at RubyConf 2002 mentioned, among other things, the

18 messages 2002/11/10

[#55563] EuRuKo: European Ruby conference — Armin Roehrl <armin@...>

Hi all,

15 messages 2002/11/11

[#55571] ruby-dev summary 18613-18710 — TAKAHASHI Masayoshi <maki@...>

Hi all,

26 messages 2002/11/11
[#55926] Re: ruby-dev summary 18613-18710 — timsuth@... (Tim Sutherland) 2002/11/15

In article <20021112020739J.maki@rubycolor.org>, TAKAHASHI Masayoshi wrote:

[#55929] Re: ruby-dev summary 18613-18710 — dblack@... 2002/11/15

Hi --

[#55955] Re: ruby-dev summary 18613-18710 — timsuth@... (Tim Sutherland) 2002/11/15

In article <Pine.LNX.4.44.0211142157370.25867-100000@candle.superlink.net>,

[#55750] Another Newbie question regarding instance variables? — montana <montana@...99.bsd.st>

The value of an instance variable is only available to the instance of the class, whereas the value of the class variable is available to all instances of the class? Is this correct?

10 messages 2002/11/13

[#55815] RubyConf 2002 Slides for FreeRIDE Presentation — "Curt Hibbs" <curt@...>

I finally got the slides online from Rich Kilmer's FreeRIDE presentation at

40 messages 2002/11/14
[#55828] Re: RubyConf 2002 Slides for FreeRIDE Presentation — " JamesBritt" <james@...> 2002/11/14

>

[#55829] Re: RubyConf 2002 Slides for FreeRIDE Presentation — "Curt Hibbs" <curt@...> 2002/11/14

JamesBritt wrote:

[#56087] Re: RubyConf 2002 Slides for FreeRIDE Presentation — Robert McGovern <tarasis@...> 2002/11/17

Curt Hibbs wrote:

[#56088] Re: RubyConf 2002 Slides for FreeRIDE Presentation — "Rich Kilmer" <rich@...> 2002/11/17

Extensibility IN RUBY was the key thing for us. We wanted the IDE to be

[#55818] regex help — "Shashank Date" <sdate@...>

Using ruby 1.7.3 (2002-10-12) [i386-mswin32] on Win XP (Home)

14 messages 2002/11/14

[#55842] Ruby equivalent to Python's map()? — wolfoxbr@... (Roberto Amorim)

Hi...

18 messages 2002/11/14

[#56045] Not really a ruby question, but this is a smart group. Win32 file.write timing. — jcb@... (MetalOne)

I am trying to write non-compressed video to a file at 40 fps.

16 messages 2002/11/16

[#56119] ruby-dev summary 18711-18810 — Minero Aoki <aamine@...>

Hi all,

34 messages 2002/11/18

[#56131] identing ruby in vim — Maur兤io <briqueabraque@...>

Hi,

14 messages 2002/11/18

[#56158] install.rb/setup.rb question — ptkwt@...1.aracnet.com (Phil Tomson)

I want to install a script that will be run as an executable which isn't a

26 messages 2002/11/18

[#56250] Need help dynamically creating classes. — pgregory@... (Paul Gregory)

I have a system at the moment where I create 'things' based on a base

11 messages 2002/11/19

[#56300] untainted, unfrozen, honest-to-god session data! — "Chris" <nemo@...>

Hello,

12 messages 2002/11/20

[#56376] Interpreted vs compiled [FAQ] defining methods anywhere — Daniel Carrera <dcarrera@...>

Hello,

13 messages 2002/11/21
[#56378] Re: [FAQ] Interpreted vs compiled [FAQ] defining methods anywhere — "Iain 'Spoon' Truskett" <spoon-dated-1039065493.b360fd@...> 2002/11/21

* Daniel Carrera (dcarrera@math.umd.edu) [21 Nov 2002 16:07]:

[#56388] Ruby is too slow — jcb@... (MetalOne)

I have been writing some image processing algorithms that run on incoming

37 messages 2002/11/21

[#56440] Multiple constructors? — christopher.j.meisenzahl@...

18 messages 2002/11/21

[#56469] The ultimate Application — "Dat Nguyen" <thucdat@...>

13 messages 2002/11/21

[#56593] Ruby idom needed — Robert Cowham <rc@...>

What's the best ruby idiom for the following Perl:

23 messages 2002/11/24

[#56633] Things That Newcomers to Ruby Should Know (11/24/02) — William Djaja Tjokroaminata <billtj@...>

Hi,

56 messages 2002/11/25
[#56679] Re: Things That Newcomers to Ruby Should Know (11/24/02) — William Djaja Tjokroaminata <billtj@...> 2002/11/25

Hi,

[#56694] Re: Things That Newcomers to Ruby Should Know (11/24/02) — "Gavin Sinclair" <gsinclair@...> 2002/11/26

From: "Simon Cozens" <simon@simon-cozens.org>

[#56695] Re: Things That Newcomers to Ruby Should Know (11/24/02) — Daniel Carrera <dcarrera@...> 2002/11/26

[#56722] Re: Things That Newcomers to Ruby Should Know (11/24/02) — Austin Ziegler <austin@...> 2002/11/26

On Tue, 26 Nov 2002 09:21:48 +0900, Daniel Carrera wrote:

[#56725] Re: Things That Newcomers to Ruby Should Know (11/24/02) — Daniel Carrera <dcarrera@...> 2002/11/26

> It's applicable to a small subset of the total set of classes.

[#56726] Re: Things That Newcomers to Ruby Should Know (11/24/02) — "Gavin Sinclair" <gsinclair@...> 2002/11/26

[#56729] Re: Things That Newcomers to Ruby Should Know (11/24/02) — Daniel Carrera <dcarrera@...> 2002/11/26

[snip]

[#56738] Re: Things That Newcomers to Ruby Should Know (11/24/02) — dblack@... 2002/11/26

Hi --

[#56744] Re: Things That Newcomers to Ruby Should Know (11/24/02) — Jason Persampieri <helgaorg@...> 2002/11/26

> You're not changing the letter 'a' itself; you're

[#56764] Re: Things That Newcomers to Ruby Should Know (11/24/02) — "Hal E. Fulton" <hal9000@...> 2002/11/26

----- Original Message -----

[#56807] Re: Things That Newcomers to Ruby Should Know (11/24/02) — Jason Persampieri <helgaorg@...> 2002/11/26

OK... I get it... I understood your argument (although

[#56812] Re: Things That Newcomers to Ruby Should Know (11/24/02) — William Djaja Tjokroaminata <billtj@...> 2002/11/26

Jason Persampieri <helgaorg@yahoo.com> wrote:

[#56814] Re: Things That Newcomers to Ruby Should Know (11/24/02) — dblack@... 2002/11/26

Hi --

[#56665] FXRuby on Mandrake 8.2 — Ludo <coquelle@...>

Hi, could someone help a beginner rubyer please ?

15 messages 2002/11/25

[#56708] Default value of property — Tim Bates <tim@...>

I have an object, with a method that returns another object, or nil under

20 messages 2002/11/26

[#56719] each_with_index & collect_with_index? — Tim Bates <tim@...>

Array.each (and others) have an alternative .each_index which passes the index

34 messages 2002/11/26
[#56734] Re: each_with_index & collect_with_index? — dblack@... 2002/11/26

Hi --

[#56800] Re: each_with_index & collect_with_index? — Gordon Miller <gmiller@...> 2002/11/26

> As for the second.... I recently appointed myself President of

[#56845] Re: each_with_index & collect_with_index? — why the lucky stiff <ruby-talk@...> 2002/11/27

Gordon Miller (gmiller@promisemark.com) wrote:

[#56849] Re: each_with_index & collect_with_index? — Jason Persampieri <helgaorg@...> 2002/11/27

> It would be really cool if, instead of having a

[#56851] Re: each_with_index & collect_with_index? — dblack@... 2002/11/27

Hi --

[#56772] RCR: Stack, Queue alias methods in Array — Martin DeMello <martindemello@...>

Rationale: Ruby arrays can be easily used as stacks and queues, but it's

46 messages 2002/11/26
[#56793] Re: RCR: Stack, Queue alias methods in Array — matz@... (Yukihiro Matsumoto) 2002/11/26

Hi,

[#56797] Re: RCR: Stack, Queue alias methods in Array — Nikodemus Siivola <tsiivola@...> 2002/11/26

[#56967] call-by-reference problem again — Shannon Fang <xrfang@...>

Hi there,

23 messages 2002/11/27
[#56970] Re: call-by-reference problem again — William Djaja Tjokroaminata <billtj@...> 2002/11/27

Shannon Fang <xrfang@hotmail.com> wrote:

[#56972] Re: call-by-reference problem again — Dave Thomas <Dave@...> 2002/11/27

William Djaja Tjokroaminata <billtj@y.glue.umd.edu> writes:

[#57146] Ruby ++, the one element and generators — "MikkelFJ" <mikkelfj-anti-spam@...>

21 messages 2002/11/30

[#57172] Numerical Ruby — Olivier Saut <Olivier.Saut@...>

Hi all,

14 messages 2002/11/30

Re: Extending ruby with mixed C/ruby classes?

From: Paul Brannan <pbrannan@...>
Date: 2002-11-08 19:11:16 UTC
List: ruby-talk #55300
On Sat, Nov 09, 2002 at 03:33:37AM +0900, Eric Schwartz wrote:
> I'd like to extend Ruby to directly interface with STAF
> (http://staf.sf.net/), which I'm using to actually execute my tests,
> and report on their status.  STAF has a C API, and I think I
> understand how to wrap it with Ruby, but I have a few questions on
> that.

I've never heard of STAF until now, but it looks intriguing.  What would
STAF give you that Test::Unit would not?

> Just FYI, the only reference I've found so far is the online Pickaxe;
> other pointers are welcome, so long as they are available online
> (offline refs are welcome too, but I'd like to finish this today if
> possible; it doesn't seem to be THAT hard, and I'm getting excited
> enough about Ruby that I want to start USING it, darn it!).

The best source of information that I've found is the Ruby source
itself.  I'm constantly finding new things that I didn't know existed,
and discovering new functions and techniques that aren't in the Pickaxe.

The second best source of information I know of is this list.  Lots of
people really know what they are talking about and are willing and
capable of answering questions.

I wish there were a better reference for the C API, but I don't know of
one.  [ruby-talk:45142] seems to indicate that in the future rdoc will
be used to document the API.

> Also, I would like to define a few Ruby classes as well, to make
> exception handling a little easier.
>
> I've included a sort of psuedocode for how I'd write the whole thing
> in ruby below.  The issues I have are:
> 
> 1) I'm reading the Pickaxe example, and it seems to match my situation
>    quit nicely-- STAF has a STAFHandle_t type that connects the client
>    with the server, and is passed as a parameter to all other calls.
>    So I want to wrap that up in a STAFHandle class (I'm naming the
>    class that way to match the C++ and Java interfaces; I'm going to
>    compose that into a STAFCommand class that operates like a File).
> 
>    So far, so good, but when I read the Pickaxe, it shows the CDPlayer
>    class defining an 'initialize' method (good, I get that) and a
>    'new' Singleton method.  What?!?  I'm perfectly willing to concede
>    that I don't understand Ruby's concept of Singleton methods, but
>    why doesn't the example just create the CDJukebox * and call
>    Data_Wrap_Struct() on it in the initialize() function?  Why do it
>    that way?  And, of course, do I need to mirror that structure in my
>    code?

initialize() doesn't create a new object; it initializes an already
created object.  The singleton method new creates the object and calls
initialize().

C++ works similarly; operator new creates new objects on the heap and
makes a call to the constructor; the constructor then initializes the
object.

> 2) How do I structure my code so that I can keep STAFResult and
>    STAFException as pure Ruby classes, and just create and/or
>    raise them from the STAFHandle class?  I saw all sorts of
>    examples of how to create Strings, Arrays, and Hashes, in C code,
>    but nothing about how to create some generic Ruby class in a C
>    method.

The easiest solution is probably to call rb_require() to load your Ruby
code from Init_STAF():

  static VALUE rb_eSTAFException;
  static VALUE rb_cSTAFResult;

  #ifdef __cplusplus
  extern "C" {
  #endif

  void Init_STAF() {
    /* ... */
    rb_require("STAFException.rb");
    rb_require("STAFResult.rb");
    rb_eSTAFException = rb_const_get(rb_cObject, rb_intern("STAFException");
    rb_cSTAFResult = rb_const_get(rb_cObject, rb_intern("STAFException");
    /* ... */
  }

  #ifdef __cplusplus
  }
  #endif

You can then raise a STAFException with:

  rb_raise(rb_eSTAFException, "your message here");

Be sure not to call rb_raise if you have created any C++ objects on the
stack that still need to be destroyed!  Those objects may or may not get
properly cleaned up! (to make a long story short... :)

You can create a STAFResult object with:

  VALUE args[] = {};
  VALUE result = rb_class_new_instance(
    sizeof(args)/sizeof(VALUE), /* argument count */
    args,                       /* the arguments themselves */
    rb_cSTAFResult);

which will create a new STAFResult object, call its initialize() method
with the arguments you passed in, and return the object back to you.

>    Assuming I have STAFHandle.c, STAFResult.rb and STAFException.rb
>    in the same directory, how can I create a STAFResult object in
>    STAFHandle.c?  Am I correct in assuming that I'd use the same
>    method to create a STAFException (or some appropriate subclass),
>    and then call 'rb_raise(cExceptionInstance, "Appropriate text")'?

rb_raise takes a class as its first argument, not an instance.  If you
want to raise an instance, then use rb_exc_raise.

> Thanks for your help-- I had initially thought Ruby a solution in
> search of a problem, but all of a sudden, everything's starting to
> look OO again, and it's a happy feeling.  Any help you can give in
> getting me out of this quandry is greatly appreciated.
> 
> -=Eric

Paul


In This Thread