2013-02-14 14 views
7

मेरे पास जावा lib है कि मैं कुछ डेटा खींच रहा हूं।Jruby में जावा ऐरे

यह एक 3 डी सरणी डालता है। हालांकि मैं इसके साथ कुछ भी नहीं कर सकता।

[[D[]@5615a6e0 

मुझे प्राप्त प्रतिक्रिया है। मैं मानचित्रण यह कोशिश की है:

{ |arr| arr.map { |arr| arr.to_a } } 

लेकिन मैं कुछ भी नहीं बाहर निकलना, पार्स करने के लिए माणिक के लिए इस जावा सरणी का उपयोग सबसे अच्छा तरीका क्या है?

+0

जावा विधि के हस्ताक्षर क्या है? यदि यह एक साधारण सरणी देता है तो आपको इसका उपयोग करने में सक्षम होना चाहिए। यह सरणी की एक सरणी की तरह दिखता है। –

+0

हाँ यह एक 3 डी सरणी है जो –

+0

लौटा दी गई है मैं उलझन में हूं कि समस्या क्या है; आप इसके साथ क्या करने की कोशिश कर रहे हैं, आप वास्तव में इसका उपयोग कैसे कर रहे हैं आदि? AFAIK यह सरणी की सरणी होनी चाहिए (सरणी के, यदि यह वास्तव में एक 3 डी सरणी है - मैं जिस विधि हस्ताक्षर के लिए पूछता हूं वह वास्तव में जानना अच्छा होगा)। –

उत्तर

9

कोई समस्या नहीं होनी चाहिए। बस का उपयोग to_a

जावा कोड:

package com.test.sof; 

public class MyTest { 
    public static int[] ReturnTestArray() { 
     int[] anArray = new int[3]; 
     anArray[0] = 1; 
     anArray[1] = 2; 
     anArray[2] = 3; 
     return anArray; 
    } 
} 

JRuby कोड:

require 'java' 
java_import com.test.sof.MyTest 

java_array = MyTest.ReturnTestArray 
p java_array 
#=> int[1, 2, 3]@484c6b 

ruby_array = Array.new 
p ruby_array 
#=> [] 
ruby_array = java_array.to_a 

p ruby_array.size 
#=> 3 
p ruby_array.join(', ') 
#=> "1, 2, 3" 
संबंधित मुद्दे