[#20675] RCR: non-bang equivalent to []= — Tobias Reif <tobiasreif@...>

Hi,

49 messages 2001/09/01
[#20774] Re: RCR: non-bang equivalent to []= — Tobias Reif <tobiasreif@...> 2001/09/03

I wrote:

[#20778] Re: RCR: non-bang equivalent to []= — Kevin Smith <kevinbsmith@...> 2001/09/03

--- Tobias Reif <tobiasreif@pinkjuice.com> wrote:

[#20715] oreilly buch von matz - website online — markus jais <info@...>

hi

43 messages 2001/09/02
[#20717] Re: OReilly Ruby book has snail on cover — ptkwt@...1.aracnet.com (Phil Tomson) 2001/09/02

Actually, thanks for posting it here. I was trying to search OReilly's

[#20922] Re: OReilly Ruby book has snail on cover — Paul Brannan <pbrannan@...> 2001/09/05

On Mon, 3 Sep 2001, Phil Tomson wrote:

[#20768] Minor cgi.rb question — "Hal E. Fulton" <hal9000@...>

I don't have much experience with

25 messages 2001/09/03

[#20770] Calling member methods from C++ — jglueck@... (Bernhard Glk)

Some quetsions have been solved for me, but my message system does not

12 messages 2001/09/03

[#20976] destructor — Frank Sonnemans <ruby@...>

Does Ruby have a destructor as in C++?

25 messages 2001/09/07

[#21218] Ruby objects <-> XML: anyone working on this? — senderista@... (Tobin Baker)

Are there any Ruby analogs of these two Python modules (xml_pickle,

13 messages 2001/09/15

[#21296] nested require files need path internally — Bob Gustafson <bobgus@...>

Version: 1.64

29 messages 2001/09/18
[#21298] Re: nested require files need path internally — David Alan Black <dblack@...> 2001/09/18

Hello --

[#21302] Re: nested require files need path internally — Bob Gustafson <bobgus@...> 2001/09/18

On Tue, 18 Sep 2001, David Alan Black wrote:

[#21303] Re: nested require files need path internally — matz@... (Yukihiro Matsumoto) 2001/09/18

Hi,

[#21306] Re: nested require files need path internally — Lars Christensen <larsch@...> 2001/09/18

On Tue, 18 Sep 2001, Yukihiro Matsumoto wrote:

[#21307] Re: nested require files need path internally — matz@... (Yukihiro Matsumoto) 2001/09/18

Hi,

[#21331] Re: nested require files need path internally — Paul Brannan <pbrannan@...> 2001/09/18

> The big difference is C++ search done in compile time, Ruby search

[#21340] Re: nested require files need path internally — matz@... (Yukihiro Matsumoto) 2001/09/18

Hi,

[#21353] Re: nested require files need path internally — Paul Brannan <pbrannan@...> 2001/09/18

On Wed, 19 Sep 2001, Yukihiro Matsumoto wrote:

[#21366] Re: nested require files need path internally — matz@... (Yukihiro Matsumoto) 2001/09/19

Hi,

[#21368] Re: nested require files need path internally — "Julian Fitzell" <julian-ml@...4.com> 2001/09/19

On 19/09/2001 at 10:12 AM matz@ruby-lang.org wrote:

[#21376] Re: nested require files need path internally — matz@... (Yukihiro Matsumoto) 2001/09/19

Hi,

[#21406] Re: nested require files need path internally — Paul Brannan <pbrannan@...> 2001/09/19

On Wed, 19 Sep 2001, Yukihiro Matsumoto wrote:

[#21315] Suggestions for new CGI lib — anders@... (Anders Johannsen)

From the comp.lang.ruby thread "Minor cgi.rb question" (2001-09-03), I

21 messages 2001/09/18

[#21413] Ruby/objects book in style of The Little Lisper — Brian Marick <marick@...>

I fell in love with Lisp in the early 80's. Back then, I read a book called

36 messages 2001/09/19
[#21420] Re: Ruby/objects book in style of The Little Lisper — Christopher Sawtell <csawtell@...> 2001/09/20

On 20 Sep 2001 06:19:44 +0900, Brian Marick wrote:

[#21479] Re: Ruby/objects book in style of The Little Lisper — Kevin Smith <kevinbsmith@...> 2001/09/21

--- Christopher Sawtell <csawtell@paradise.net.nz> wrote:

[#21491] SV: Re: Ruby/objects book in style of The Little Lisper — "Mikkel Damsgaard" <mikkel_damsgaard@...> 2001/09/21

[#21494] Re: SV: Re: Ruby/objects book in style of The Little Lisper — Kevin Smith <kevinbsmith@...> 2001/09/21

--- Mikkel Damsgaard <mikkel_damsgaard@mailme.dk> wrote:

[#21510] Re: SV: Re: Ruby/objects book in style of The Little Lisper — Todd Gillespie <toddg@...> 2001/09/22

On Sat, 22 Sep 2001, Kevin Smith wrote:

[#21514] Re: SV: Re: Ruby/objects book in style of The Little Lisper — Kevin Smith <kevinbsmith@...> 2001/09/22

--- Todd Gillespie <toddg@mail.ma.utexas.edu> wrote:

[#21535] irb — Fabio <fabio.spelta@...>

Hello. :) I'm new here, and I have not found an archive of the previous

15 messages 2001/09/22

[#21616] opening a named pipe? — "Avdi B. Grimm" <avdi@...>

I'm having trouble reading from a named pipe in linux. basicly, I'm

12 messages 2001/09/24

[#21685] manipulating "immutable" objects such as Fixnum from within callbacks & al... — Guillaume Cottenceau <gc@...>

Hello,

15 messages 2001/09/25

[#21798] Ruby internal (guide to the source) — "Benoit Cerrina" <benoit.cerrina@...>

Hi,

22 messages 2001/09/28

[ruby-talk:21564] Returnin own C++ type from ruby method

From: jglueck@... (Bernhard Glk)
Date: 2001-09-23 02:42:17 UTC
List: ruby-talk #21564
Hi there again!

After having solved so many problems with ruby with the great help of
this newsgroup, i think I'll have another question for you all.

In my game engine there is a C++ Class called "Message" which is
exported to ruby... No problem it works quite well, I can instantiate
it and use it no problem at all...However now i have some "Messages"
that are not created by ruby but the C++ side of my program (incoming
from the network ) and I want to pass it to a ruby method ( since the
object is already exported with all methods it should work )

however what is the correct way to do this ?

My message export code looks like this:

/ -----------------------------------------------------------------------------
	static void MessageDelete( MessagePtr * inst )
	{
		delete inst;
	}
	
// -----------------------------------------------------------------------------
	static VALUE MessageNew( VALUE self )
	{
		MessagePtr * inst = new MessagePtr(); 
		*inst = MessageCreate( "Message" );
		VALUE t = Data_Wrap_Struct(self,0,SE_DELETE(MessageDelete),inst); 
		rb_obj_call_init(t, 0, NULL); 
		return t; 
	}

	void ScriptExporter::DefineMessage()
	{
		m_messageClass = rb_define_class_under(
GetModule(),"Msg",rb_cObject);
		rb_define_singleton_method(
m_messageClass,"new",SE_METHOD(MessageNew),0 );
		
		rb_define_method( m_messageClass,"Add",SE_METHOD(MessageAdd),1 );
		rb_define_method( m_messageClass,"Get",SE_METHOD(MessageGet),1 );
		rb_define_method( m_messageClass,"From",SE_METHOD(MessageFrom),0 );
		rb_define_method( m_messageClass,"Sent",SE_METHOD(MessageSendTime),0
);
		rb_define_method( m_messageClass,"Receive",SE_METHOD(MessageReceiveTime),0
);
		rb_define_method( m_messageClass,"To",SE_METHOD(MessageTo1),1 );
	}


Now how do i send a Message i get from the C++ side ( so it's already
constructed to a a method ? I would like to have it somehow like that:


VALUE MessageWrap( MessagePtr & ptr )
{
  // I have no clue how to implement this
}

void Message::SendToScript( VALUE object,MessagePtr & self )
{
	String callString = "On";
	callString += m_msg;
	
	// Generated for the method
	ID callId = rb_intern( callString.Get() );

	// Now create the parameter array for the call...
	Array<VALUE> args;

	// Wrap the message into a value
	args[0] = MessageWrap( self );			

	if ( rb_respond_to( object,callId ) )
	{
	        rb_funcall2( object,callId,args.Size(),args.Begin() );
	}
	else
	{
		LogWarning(("Object does not respond to message"));
	}

}



Bye the way in Ruby 1.6.4 the rb_class2name method seems to have a
bug.. It fails after 28 successive class with the same parameters,,
just to let you know...


Thanks in advance
Bernhard Glk

In This Thread

Prev Next