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 پاسخ 2.0هزار بازدید
0 امتیاز
1 پاسخ 2.2هزار بازدید
+1 امتیاز
1 پاسخ 320 بازدید
0 امتیاز
2 پاسخ 487 بازدید
0 امتیاز
3 پاسخ 1.2هزار بازدید
0 امتیاز
1 پاسخ 445 بازدید
+1 امتیاز
2 پاسخ 1.3هزار بازدید
+1 امتیاز
1 پاسخ 415 بازدید
0 امتیاز
0 پاسخ 336 بازدید
...