से तरीकों मैं एक विधि है कि जावा पर इस तरह दिखता है:JSR223: कॉलिंग जावा "varargs" स्क्रिप्ट
public void myMethod(Object... parms);
लेकिन स्क्रिप्ट से उम्मीद के रूप में मैं इस विधि कॉल नहीं कर सकते।
हैं, माणिक में, मैं करता हूँ:
$myObject.myMethod(42);
यह मेरे org.jruby.exceptions.RaiseException: could not coerce Fixnum to class [Ljava.lang.Object
देता है अगर मैं जावास्क्रिप्ट में निम्न प्रयास करें:
myObject.myMethod(42);
तो यह मुझे sun.org.mozilla.javascript.internal.EvaluatorException: Can't find method MyClass.test(number). (#2) in at line number 2
बेशक, अगर मैं एक गायन लेने के लिए हस्ताक्षर बदलता हूं ले ऑब्जेक्ट तो यह काम करता है।
मुझे लगता है कि ऐसा इसलिए है क्योंकि लाइन के साथ किसी को यह नहीं पता कि Integer
से Integer[]
कहें कि पहले स्थान पर मूल्य के साथ।
मेरा मानना है कि myMethod({42, 2009})
की तरह कुछ रूबी में काम करेगा, लेकिन यह बदसूरत लगता है - मैं सिर्फ यह कम भ्रामक बनाने के लिए myMethod(42, 2009)
ऐसा करने के लिए, विशेष रूप से अन्य भाषाओं के लिए सक्षम होने के लिए करना चाहता था। क्या इसके लिए कोई बेहतर कामकाज है?
धन्यवाद।
पर एक और उदाहरण इस पर
अधिक प्रयोग करेंगे fmt.format डालता है ("|% 4s |", ["üü"]। to_java) ' – reto