2009-10-09 14 views
7

से फ़ंक्शन का खुलासा करना ScriptableObject.putProperty का उपयोग कर जावा से राइनो को उपलब्ध करना आसान है, लेकिन क्या शीर्ष-स्तरीय फ़ंक्शन का पर्दाफाश करने का कोई तरीका है? यही है, क्या मैं इसे राइनो में इतनी स्क्रिप्ट कर सकता हूं foo() पर कॉल कर सकता हूं और क्या वह जावा कोड पर कॉल कर सकता है?जावा से राइनो

उत्तर

6

उम्म ... yes, you can। शायद मैं आपके प्रश्न को सही ढंग से समझ नहीं रहा हूं ("टॉप-स्तरीय फ़ंक्शन" से आपका क्या मतलब है?) लेकिन यदि आपने राइनो में जावा ऑब्जेक्ट का खुलासा किया है, तो आप इसकी विधियों को कॉल कर सकते हैं।

+1

क्षमा करें अगर मैं स्पष्ट नहीं था। जबकि मैं किसी ऑब्जेक्ट का पर्दाफाश कर सकता हूं, जो मुझे foo.bar() को कॉल करने की अनुमति देता है, मैं आदर्श रूप से बस बार() को कॉल करना चाहता हूं। तो, 'टॉप-स्तरीय फ़ंक्शन' से मेरा मतलब है कि एक फ़ंक्शन जो राइनो स्कोप की एक संपत्ति है जो वर्तमान में निष्पादित कर रहा है, अगर इससे अधिक समझदारी होती है। – Thom

+3

ओह, मैं देखता हूं। आप एक FunctionObject परिभाषित कर सकते हैं: https://www.mozilla.org/rhino/apidocs/org/mozilla/javascript/FunctionObject.html और PutProperty() – ChssPly76

+0

शानदार के माध्यम से इसे वैश्विक (या अपने वर्तमान) दायरे से संबद्ध करें, जो सही दिखता है । धन्यवाद! – Thom

संबंधित मुद्दे