[#17198] enhancing Ruby error messages for out of the bound constant Fixnum? — Guillaume Cottenceau <gc@...>

Hi,

11 messages 2001/07/03

[#17206] /* */ comments — Dave Thomas <Dave@...>

43 messages 2001/07/04
[#17207] Re: /* */ comments — Stephen White <spwhite@...> 2001/07/04

On Wed, 4 Jul 2001, Dave Thomas wrote:

[#17251] Re: /* */ comments — Sean Chittenden <sean-ruby-talk@...> 2001/07/04

> Over on http://www.rubygarden.org, dv posted a patch to parse.y that

[#17268] Re: /* */ comments — matz@... (Yukihiro Matsumoto) 2001/07/05

Hi,

[#17212] Ruby 1.6.4 Win32 .exe installer question — A Bull in the China Shop of Life <feoh@...>

Folks;

11 messages 2001/07/04

[#17225] Re: /* */ comments — Arnaud Meuret <ameuret@...4you.com>

|From: Mark Slagell [mailto:ms@iastate.edu]

17 messages 2001/07/04

[#17240] Ruby Mascot/logo — "Kevin Powick" <kpowick@...>

Hi there.

14 messages 2001/07/04

[#17281] Inheritance — "Aleksei Guzev" <aleksei.guzev@...>

15 messages 2001/07/05
[#17282] Re: Inheritance — ts <decoux@...> 2001/07/05

>>>>> "A" == Aleksei Guzev <aleksei.guzev@bigfoot.com> writes:

[#17348] Adding a method to a class at the top-level — Guillaume Cottenceau <gc@...>

Comrades,

14 messages 2001/07/05

[#17482] Aliases for class methods — "HarryO" <harryo@...>

Say I wanted to write my own version of File#open that adds some

23 messages 2001/07/08

[#17511] Ruby on Slashdot — jweirich@...

Ruby is currently mentioned on Slashdot. I posted some references.

29 messages 2001/07/08
[#17512] Re: Ruby on Slashdot — Tobias Reif <tobiasreif@...> 2001/07/08

Interesting...

[#17518] Re: Ruby on Slashdot — matz@... (Yukihiro Matsumoto) 2001/07/09

Hi,

[#17519] Re: Ruby on Slashdot — "James (ruby-talk)" <ruby@...> 2001/07/09

> |I thought about that too; what about Ruby being a standard?

[#17525] Re: Ruby on Slashdot — matz@... (Yukihiro Matsumoto) 2001/07/09

Hi,

[#17536] Re: Ruby on Slashdot — David Alan Black <dblack@...> 2001/07/09

Hello --

[#17572] Re: Constants and Variables — "HarryO" <harryo@...>

> If you want objects that don't change, try Object#freeze,

25 messages 2001/07/10

[#17732] Re: Array#sort! returns nil when array empty — hfulton@...

> Array#sort! returns nil if the array is empty, whereas ri

32 messages 2001/07/12
[#17736] Re: Array#sort! returns nil when array empty — Paul Brannan <pbrannan@...> 2001/07/12

On Fri, 13 Jul 2001 hfulton@pop-server.austin.rr.com wrote:

[#17739] Re: Array#sort! returns nil when array empty — ts <decoux@...> 2001/07/12

>>>>> "P" == Paul Brannan <pbrannan@atdesk.com> writes:

[#17746] Re: Array#sort! returns nil when array empty — Paul Brannan <pbrannan@...> 2001/07/12

On Fri, 13 Jul 2001, ts wrote:

[#17747] What is Array#- ? — Jim Freeze <jim@...> 2001/07/12

While following the Array thread, I noticed the minus

[#17752] Re: What is Array#- ? — Dave Thomas <Dave@...> 2001/07/12

Jim Freeze <jim@freeze.org> writes:

[#17753] Re: What is Array#- ? — Jim Freeze <jim@...> 2001/07/12

On Fri, 13 Jul 2001, Dave Thomas wrote:

[#17833] Extending objects — "Aleksei Guzev" <aleksei.guzev@...>

16 messages 2001/07/14
[#17834] Ruby-newbie seeks help with Rubywin starting IRB — "Euan Mee" <lucid@...> 2001/07/14

Once I fire up Rubywin, and then invoke _R_uby _I_rb from the

[#17839] Re: Ruby-newbie seeks help with Rubywin starting IRB — A Bull in the China Shop of Life <feoh@...> 2001/07/14

At 07:05 PM 7/14/01 +0900, Euan Mee spewed forth:

[#17859] Re: Creating methods on the fly — "HarryO" <harryo@...>

I

18 messages 2001/07/15

[#17925] Movement in scripting language communities to integrate XML-RPC — gsemones@... (Guerry Semones)

Greetings,

20 messages 2001/07/16
[#17934] Re: Movement in scripting language communities to integrate XML-RPC — Tobias Reif <tobiasreif@...> 2001/07/16

"out of the box" by including

[#18018] Broadcasting data — "HarryO" <harryo@...>

Does someone have an example of broadcasting data around a network using

12 messages 2001/07/18

[#18023] [ANN] libxslt Rubified! — Wai-Sun Chia <waisun.chia@...>

Hello,

16 messages 2001/07/18
[#18024] Re: [ANN] libxslt Rubified! — TAKAHASHI Masayoshi <maki@...> 2001/07/18

Wai-Sun Chia <waisun.chia@compaq.com> wrote:

[#18100] Looking for Ruby programming exercises — Wayne Vucenic <wvucenic@...> 2001/07/19

I've been learning Ruby, mostly with the Pickaxe book, and it's going

[#18188] Newbie. Sinking fast. Please help. — Matt <matt@...>

I bought Programming Ruby a number of months back and finally have an opportunity to try out Ruby. However, I can't get it to build. Actually, that's not quite accurate. It builds fine. It won't pass 'make test'.

12 messages 2001/07/20

[#18193] Re: 99 bottles of beer — "Dat Nguyen" <thucdat@...>

18 messages 2001/07/20
[#18204] Re: 99 bottles of beer — Glen Starchman <glen@...> 2001/07/20

99.downto(0){|x|w=" on the wall";u="#{x!=0?eval(x.to_s):'no more'}

[#18306] Ruby as opposed to Python? — "Mark Nenadov" <mnenadov@...>

Hello. I have toyed with the idea of trying Ruby out for some time now.

118 messages 2001/07/22
[#18759] Re: Ruby as opposed to Python? — Paul Prescod <paulp@...> 2001/07/29

Yukihiro Matsumoto wrote:

[#18774] Re: Ruby as opposed to Python? — "Florian G. Pflug" <fgp@...> 2001/07/30

On Mon, Jul 30, 2001 at 05:58:22AM +0900, Paul Prescod wrote:

[#18393] Trouble Using FXRuby on cygwin/Windows NT — rgilbert1@... (Robbie Gilbert)

Hi,

10 messages 2001/07/23

[#18566] Which database should I use? — Urban Hafner <the-master-of-bass@...>

Hello everybody,

17 messages 2001/07/26
[#18575] Re: Which database should I use? — Urban Hafner <the-master-of-bass@...> 2001/07/26

[#18582] Re: Which database should I use? — Michael Neumann <neumann@...> 2001/07/26

Urban Hafner wrote:

[ruby-talk:18012] Re: RUBY C++ Extension again

From: Chris Uzdavinis <chris@...>
Date: 2001-07-17 19:35:40 UTC
List: ruby-talk #18012
Just a few comments...

jglueck@vol.at (Bernhard Glk) writes:

> Hi again
> I managed to integrate Ruby into my game engine now, but i have got
> the following problem, This should be a simple test C++ Class exported
> to ruby:
> 
> #define RB_METHOD(func) ((VALUE (*) ())func)

In C, an empty parameter list is not the same as in C++, and so you
need the ... in here.  It should be:

#define RB_METHOD(func) ((VALUE (*) (...))func)

Otherwise you're casting it to the wrong type of function pointer.
I'm not sure if this is related to your crash or not, however.  (I
don't use your compiler, and it's undefined behavior.)  In reality,
I think casting a function pointer to one taking ... is also
undefined, but it works everywhere due to the fact that each item in
the VA_ARG is the same size as a VALUE. 

> void Log(const char * message ) { LogDebug(("%s ID:
> %u",message,m_id)); }

Your format flag is wrong.  m_id is an int, you want %d.

> 	static VALUE Simple_New(VALUE self)

If you're getting a warning for unused parameter, remove 'self' from
the parameter list.  That way the VALUE is an unnamed parameter,
indicating you don't intend to actually make use of that argument.

>{
>	Simple * sObj = new Simple();
>	return Data_Wrap_Struct(cFunc,0,RB_FINALIZER(Simple_Delete),sObj);
> 	}

Just a note... there is a severe difficulty in writing ruby extensions
in C++ due to ruby exceptions using longjmp.  If, for example the
allocation of the ruby object (in Data_Wrap_Struct) fails, it throws a
ruby exception, then you leak your Simple object.  Even if you put
your simple object in an auto_ptr, it would still leak, because the
auto_ptr would not be destroyed.  (And whenever a local variable has a
destructor that needs to be called is skipped due to longjmp (which
happens all the time in Ruby extensions, due to ruby throwing
"exceptions") your program is undefined.  I've been struggling with
this for a while, and so far haven't found any satifactory solutions.
I'm still trying to come up with some, however.

> 	static VALUE Simple_Log(VALUE self,VALUE string)

'string' is a poor variable name, since the C++ standard library
defines 'string' already.  While it's in the std namespace, many
compilers don't quite get namespaces right, and many programmers hoist
the std namespace into the global namespace anyway.

>{
>	Simple * sObj = NULL;
>	Data_Get_Struct(self,class Simple,sObj);

Small nitpick, but assigning NULL to sObj is a wasted operation,
because you immediately overwrite that NULL value in the
Data_Get_Struct macro.  

>       sObj->Log(STR2CSTR(string));
>       return string;
>}
>
>static void RegisterSimple()
>{
>	cFunc = rb_define_class("brutus",rb_cObject);
>	rb_define_method(cFunc,"log",RB_METHOD(Simple_Log),1);
>	rb_define_singleton_method(cFunc,"new",RB_METHOD(Simple_New),0);
>}

I don't see anything wrong in RegisterSimple, once the macro is
fixed.  (I know far less about Ruby than I do about C++ though, so I
may easily be overlooking something.)

Hope this helps.
-- 
Chris

In This Thread