Hi Everyone,
I know the subject line is quite a mouthful! Sorry about that.
I've managed to embed a Ruby interpreter into my application and I can call Ruby functions from the code in my application. It works fine and returns results to me as expected. I can also ask it to run a script for me.
Now, I'd like to get it to do some automation for me. My project starts up, loads a few things, sets a few properties, etc. I'd like to be able to automate this using the embedded interpreter. I expect the code in the script may be as simple as:
set_default_color(0x00ff0000)
set_screen_size(800,600)
...and so on.
Now, as I understand it, in my application, I need to these C functions in it:
VALUE set_default_color (VALUE color)
VALUE set_screen_size (VALUE w, VALUE h)
... and so on.
I just don't know what to do next! I'm not even sure what I should search for - should I like at how to create an extension? Does that mean that I need to get into the mkmf, etc. and compile some things for it to work (I shudder because my primary environment is Borland C++ Builder/ Turbo C++ and I had enough worries getting the interpreter to be compiled in).
To use the script from the embedded interpreter, can I just ask it to run the script?
I'm sorry if some of the questions/ explanations are a bit vague. Any help/ direction is greatly appreciated.
Thanks
Mohit.
Hello Again,
I found that the example on this page:
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/155482
does have the necessary to help me connect the dots. I was staring at the example for quite a while before I sent the email out, but I guess I just didn't see it.
Thanks anyway.
Cheers,
Mohit.
4/24/2008 | 7:48 PM.
Mohit Sindhwani wrote:
···
Hi Everyone,
I know the subject line is quite a mouthful! Sorry about that.
I've managed to embed a Ruby interpreter into my application and I can call Ruby functions from the code in my application. It works fine and returns results to me as expected. I can also ask it to run a script for me.
Now, I'd like to get it to do some automation for me. My project starts up, loads a few things, sets a few properties, etc. I'd like to be able to automate this using the embedded interpreter. I expect the code in the script may be as simple as:
set_default_color(0x00ff0000)
set_screen_size(800,600)
...and so on.
Now, as I understand it, in my application, I need to these C functions in it:
VALUE set_default_color (VALUE color)
VALUE set_screen_size (VALUE w, VALUE h)
... and so on.
I just don't know what to do next! I'm not even sure what I should search for - should I like at how to create an extension? Does that mean that I need to get into the mkmf, etc. and compile some things for it to work (I shudder because my primary environment is Borland C++ Builder/ Turbo C++ and I had enough worries getting the interpreter to be compiled in).
To use the script from the embedded interpreter, can I just ask it to run the script?
I'm sorry if some of the questions/ explanations are a bit vague. Any help/ direction is greatly appreciated.
Thanks
Mohit.
* Mohit Sindhwani <mo_mail@onghu.com> (13:06) schrieb:
I know the subject line is quite a mouthful! Sorry about that.
I don't see anything wrong in the subject line.
I've managed to embed a Ruby interpreter into my application and I can
call Ruby functions from the code in my application. It works fine and
returns results to me as expected. I can also ask it to run a script
for me.
Grats.
set_default_color(0x00ff0000)
set_screen_size(800,600)
..and so on.
Now, as I understand it, in my application, I need to these C functions
in it:
VALUE set_default_color (VALUE color)
VALUE set_screen_size (VALUE w, VALUE h)
.. and so on.
I just don't know what to do next!
Well, the Pickaxe has a chapter on this stuff.
Try
rb_define_global_function("set_default_color", &set_default_color, 1)
There also is rb_define_module_function(VALUE model, char *name,
VALUE(*func)(), int argc) and rb_define_singleton_method taking the same
arguments. I never tried any of these, and don't quit know how to tell a
module function from a singleton function from a system function. (The
last one is in Kernel, the other two can be in any module or class.)
mfg, simon .... l
Hi Simon
First, my apologies on the late response. Thanks for your email relating to my request.
Simon Krahnke wrote:
* Mohit Sindhwani <mo_mail@onghu.com> (13:06) schrieb
I know the subject line is quite a mouthful! Sorry about that.
I don't see anything wrong in the subject line.
Haha, thanks for that!
I've managed to embed a Ruby interpreter into my application and I can call Ruby functions from the code in my application. It works fine and returns results to me as expected. I can also ask it to run a script for me.
Grats.
set_default_color(0x00ff0000)
set_screen_size(800,600)
..and so on.
Now, as I understand it, in my application, I need to these C functions in it:
VALUE set_default_color (VALUE color)
VALUE set_screen_size (VALUE w, VALUE h)
.. and so on.
I just don't know what to do next!
Well, the Pickaxe has a chapter on this stuff.
Try
rb_define_global_function("set_default_color", &set_default_color, 1)
There also is rb_define_module_function(VALUE model, char *name,
VALUE(*func)(), int argc) and rb_define_singleton_method taking the same
arguments. I never tried any of these, and don't quit know how to tell a
module function from a singleton function from a system function. (The
last one is in Kernel, the other two can be in any module or class.)
Ya, actually wisdom strikes soon after one requests for help. I did find the necessary stuff in one of the links that I had been staring at for a while... and after that, it was easy enough to connect up the dots to get things moving.
Thanks for the example. I followed the procedure for defining a module and then creating the functions within it. Not sure if I eventually want it to be that way but I know enough now to keep exploring.
mfg, simon .... l
Might I ask what "mfg" stands for?
Thanks again.
Cheers,
Mohit.
4/27/2008 | 7:53 PM.
David A. Black wrote:
Hi --
mfg, simon .... l
Might I ask what "mfg" stands for?
Mit freundlichen Grüßen (with friendly greetings -- more or less like
"Best wishes").
David
Thanks David! That's why I love this list - you learn a little bit about languages all the time 
Cheers,
Mohit.
4/27/2008 | 8:32 PM.
Mohit Sindhwani <mo_mail@onghu.com> writes:
David A. Black wrote:
Hi --
mfg, simon .... l
Might I ask what "mfg" stands for?
Mit freundlichen Grüßen (with friendly greetings -- more or less like
"Best wishes").
David
Thanks David! That's why I love this list - you learn a little bit
about languages all the time 
Also, you could improve you google-fu. You'd find nice tools such as:
http://www.silmaril.ie/cgi-bin/uncgi/acronyms?MFG
···
--
__Pascal Bourguignon__
Pascal Bourguignon wrote:
Also, you could improve you google-fu. You'd find nice tools such as:
http://www.silmaril.ie/cgi-bin/uncgi/acronyms?MFG
Point taken, Pascal. Sorry about that.
It was just a friendly question piggy-backed to my response to the original reply. But, I understand what you mean. I could have avoided the responses that followed.
By the way, thanks for the link - it's quite neat!
Mfg,
Mohit.