Hello Victor,
I see that there is not much action on the list at the moment - so I
will reply - the heavyweights do eventually drop by - but they are
very busy so it is a bit sporadic (unless its just my gmail playing up
again).
I haven't actually tried 2 and 3 on your list since I am trying to
obviate the need to actually write anything in Objective C. I guess if
you have Obj C code already then you might want to call ruby rather
than the other way around, so I will leave those questions for others
and answer the simple one.
For number 1:
If you are using Xcode it all seems to work magically, and I am not
sure why you are having problems.
If I want to call some Obj C code from a ruby class - i first create
an obj c class (eg MyClass) the normal way in Xcode (with .m and .h
classes becoming part of the project), write the obj c code, and then
any ruby code can magically use that class - eg with:
MyClass.my_class_method
or
a = MyClass.new
a.my_instance_method
or
a =MyClass.init.alloc
a.my_instance_method
if you want to access state in the obj c class - there was a thread on
that recently (subject Accessing Obj-C InstVars from Ruby) - but I use
getters and setters in the Obj C code.
Hope that helps,
John
On Apr 16, 2009, at 13:23 , [email protected] wrote:
Hi,
I'm new both to this list and to MacRuby. Let this message serve as
an introduction.
I have some questions that have not seen answered either in the
docs or in the list archives. I have been known to miss things
before, so please kindly point me in the right direction if this is
documented somewhere.
I have seen the embedding sample but I stil can't figure out how I
can pull out the following:
1. Mix Obj-C and Ruby Classes: ie, from Ruby be able to extend or
use Obj-C classes that are lying around in my project. How do I
"require" them? When I try to use them, ruby doesn't seem to
recognize them (specifically, it recognizes the classes but not
their methods)
2. The same question, but the other way around: how can I use or
extend a class declared in Ruby from Obj-C? The only thing that I
can come up with is to declare them with @class, but it didn't work
(or I didn't do it properly)
3. If I were to call arbitrary scripts as in the embedding sample,
how can I pre-initialize ruby objects so that they are available in
the environment? I.e, if I allow the user to extend my app by
running their ruby code, how can I make my objects available to him?
And also, how could I prevent certain objects from being available
to him, so that he doesn't break anything?
TIA,
victor _______________________________________________
MacRuby-devel mailing list
[email protected]
http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
_______________________________________________
MacRuby-devel mailing list
[email protected]
http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel