Is it possible to create static c-arrays in macruby? In jruby Array has a a #to_java method which converts a Array object to an java array (a = Array.new(6).to_java(:double)) Is there something like that supported in macruby? Tom
Hi Tom, In MacRuby, an Array is actually a NSMutableArray instance, as you may know. If you need to call a C or Objective-C method that accepts a C-style array, you can just pass the regular array object and MacRuby should do the conversion for you. If you want to build the C array by yourself in pure Ruby, you might want to look at the Pointer class. irb(main):001:0> ptr = Pointer.new(:int, 5) => #<Pointer:0x200337640> irb(main):002:0> 5.times { |i| ptr[i] = i } => 5 This creates a C-style array of 5 C integers. You can access the slots by using #[] and #[]=. If you pass this pointer to a C or Objective-C method that is supposed to accept a C-style array of C integers, it should work. Laurent On Sep 10, 2009, at 9:37 AM, Tom Kleber wrote:
Is it possible to create static c-arrays in macruby? In jruby Array has a a #to_java method which converts a Array object to an java array (a = Array.new(6).to_java(:double)) Is there something like that supported in macruby?
Tom _______________________________________________ MacRuby-devel mailing list MacRuby-devel@lists.macosforge.org http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
participants (2)
-
Laurent Sansonetti
-
Tom Kleber