0 امتیاز
قبل در برنامه نویسی توسط (1.1هزار امتیاز)

یکسری تابع جاوااسکریپت برای تبدیل مقیاس های اندازه گیری وجود دارد که بسیار خوب کار می کند، می خواهم بدون بازنویسی آنها با جاوا، همان توابع جاوااسکریپت را درون کد جاوا فراخوانی کنم، آیا این امکان وجود دارد؟

1 پاسخ

0 امتیاز
قبل توسط (1.1هزار امتیاز)

در زبان برنامه نویسی جاوا امکانای برای فراخوانی مستقیم کدهای زبان های برنامه نویسی اسکریپتی مانند جاوااسکریپت وجود دارد (Java Scripting API)، کلاس های ScriptEngineManager و ScriptEngine این کار را برای شما انجام می دهند:

        ScriptEngineManager manager = new ScriptEngineManager();  
        ScriptEngine engine = manager.getEngineByName("JavaScript");  
  
        // JavaScript code in a String  
        String script = "function hello(name) { print('Hello, ' + name); }";  
        // evaluate script  
        engine.eval(script);  
  
        // javax.script.Invocable is an optional interface.  
        // Check whether your script engine implements or not!  
        // Note that the JavaScript engine implements Invocable interface.  
        Invocable inv = (Invocable) engine;  
  
        // invoke the global function named "hello"  
        inv.invokeFunction("hello", "Scripting!!" );  

در مثال فوق EngineName جاوااسکریپت در نظر گرفته شده است و تابع hello ابتدا تعریف شده (با استفاده از متد eval) و سپس با ارسال یک پارامتر فراخوانی شده.

با استفاده از Java Scripting API نیازی به تبدیل توابع جاوااسکریپت به جاوا و سپس فراخوانی آنها وجود ندارد.

سوالات مشابه

0 امتیاز
1 پاسخ 631 بازدید
0 امتیاز
1 پاسخ 2.0هزار بازدید
+1 امتیاز
1 پاسخ 214 بازدید
0 امتیاز
2 پاسخ 377 بازدید
0 امتیاز
3 پاسخ 967 بازدید
0 امتیاز
1 پاسخ 320 بازدید
+1 امتیاز
2 پاسخ 1.1هزار بازدید
+1 امتیاز
1 پاسخ 300 بازدید
0 امتیاز
0 پاسخ 258 بازدید
...