рдкрд░рд┐рдЪрдп

рдиреИрд╢реЙрд░реНрди
* рдПрдХ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЗрдВрдЬрди рд╣реИ рдЬреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЬрд╛рд╡рд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдореЗрдВ рдУрд░реЗрдХрд▓ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рджрд╛ рд╡рд┐рдВрдЪреА рдорд╢реАрди (JSR 292) рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдФрд░ рдЬрд╛рд╡рд╛ 8 рдХреЗ рднрд╛рдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реЛрдЧрд╛ (рдЬреЛ рдХрд┐ рдорд╛рд░реНрдЪ 2014 рдореЗрдВ рдЬрд╛рд░реА рд╣реЛрдиреЗ рдХреА рдЙрдореНрдореАрдж рд╣реИ)ред рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдирд┐рд╖реНрдкрд╛рджрди (рдФрд░
рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдорд░реНрдерди ) рдЬрд╛рд╡рд╛ 6 рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдерд╛, рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ
рд░рд╛рдЗрдиреЛ рдЗрдВрдЬрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬрд┐рд╕реЗ рдЬрд╛рд╡рд╛ рдореЗрдВ рднреА рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди
рдореЛрдЬрд╝рд┐рд▓рд╛ рдлрд╛рдЙрдВрдбреЗрд╢рди рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╣реИред
рдЬрд╛рд╡рд╛ 8 рдореЗрдВ рдирд╡рд╛рдЪрд╛рд░реЛрдВ рдХреА рд╕реВрдЪреА рдкрд╣рд▓реЗ рд╣реА
рд▓рд┐рдЦреА рдЬрд╛ рдЪреБрдХреА рд╣реИ ред рдпрд╣ рд▓реЗрдЦ рдЖрдкрдХреЛ рдХреБрдЫ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рджреЗрдЧрд╛ рдЬреЛ рдЖрдкрдХреЛ рдиреИрд╢реЛрд░реНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рджреЗрдЧрд╛ред
рдЖрд╡реЗрджрди
рдореБрдЭреЗ рдЬрд╛рд╡рд╛ рдореЗрдВ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ? рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
рдЙрдкрдпреЛрдЧ рдХреЗ рдЙрджрд╛рд╣рд░рдг
рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЪрд░рдг
JDK 8 рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдкрд╣реБрдБрдЪ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред рд╢реЗрд╖ рдкрд╛рда рдорд╛рдирддрд╛ рд╣реИ рдХрд┐ рдЬрд╛рд╡рд╛ 8 рдХреЗ рд▓рд┐рдП
javac
рдФрд░
java
рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрддреЗ рд╣реИрдВред
рдирдорд╕реНрддреЗ рд╡рд┐рд╢реНрд╡!
import javax.script.*; public class EvalScript { public static void main(String[] args) throws Exception {
рдХрдХреНрд╖рд╛ рдХрд╛ рд╕рдВрдХрд▓рди:
./javac EvalScript.java
рдФрд░ рдЗрд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ:
./java EvalScript
рд╣рдо рдирд┐рд╖реНрдХрд░реНрд╖ рджреЗрдЦрддреЗ рд╣реИрдВ:
Hello, World!
рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ + рдЬрд╛рд╡рд╛
рдиреИрд╢реЙрд░реНрди
рдЖрдкрдХреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдмрдирд╛рдиреЗ рдХреЗ
рд▓рд┐рдП рдЬрд╛рд╡рд╛ рдХрдХреНрд╖рд╛рдУрдВ рдХрд╛
рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:
MyScript.js
var MyClass = Java.type("EvalScript.MyClass"); var my = new MyClass(); my.printMsg("Hello!");
EvalScript.java
import javax.script.*; import java.io.*; public class EvalScript { public static void main(String[] args) throws Exception {
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдЕрдкрдиреА рдЖрдВрддрд░рд┐рдХ рдХрдХреНрд╖рд╛ рдмрдирд╛рдИ (рдЬреЛ рдХреЛрдИ рд╕реАрдорд╛ рдирд╣реАрдВ рд╣реИ, рдореИрдВ рдПрдХ рдЕрд▓рдЧ рд╡рд░реНрдЧ рднреА рдмрдирд╛ рд╕рдХрддрд╛ рд╣реВрдВ) рдФрд░ рдЗрд╕реЗ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рд╕реЗ рдмреБрд▓рд╛рдпрд╛ред рдпрд╣ рд╡рд░реНрдЧ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдФрд░ рдЗрдирдкреБрдЯ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ js рдХреЛрдб рдХреЛ рдкрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛ рд░рд╣рддрд╛ рд╣реИ:
./java EvalScript < MyScript.js
рд╣рдо рдирд┐рд╖реНрдХрд░реНрд╖ рджреЗрдЦрддреЗ рд╣реИрдВ:
printMsg : Hello!
рдирд┐рд╖реНрдХрд░реНрд╖
рдЗрд╕ рдЕрд╡рд╕рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВ, рдЗрд╕рдХрд╛ рдирд┐рд░реНрдгрдп рд╕реНрд╡рдпрдВ рдХрд░реЗрдВред рдореБрдЭреЗ рджрд┐рд▓рдЪрд╕реНрдкреА рддрдм рд╣реБрдИ рдЬрдм рдореБрдЭреЗ рдПрдХ рдореМрдЬреВрджрд╛ рдЬрд╛рд╡рд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рд╕реНрд╡рдЪрд╛рд▓рди рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА, рдЬрд┐рд╕реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рджреНрд╡рд╛рд░рд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдПрдбрдорд┐рдирд┐рд╕реНрдЯреНрд░реЗрдЯрд░ рджреНрд╡рд╛рд░рд╛, рд╕реАрдзреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ (рдФрд░ рдЗрд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдШрдЯрдХреЛрдВ рдХреЗ рдкреБрдирд░реНрд╕рдВрдпреЛрдЬрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдЧреА)ред
рдкреНрд░рдпреБрдХреНрдд рд╕рд╛рдордЧреНрд░реА:
* рдиреИрд╢реЙрд░реНрди рдПрдХ рдЬрд░реНрдорди рд╢рдмреНрдж рд╣реИ рдЬреЛ рд░реВрд╕реА рднрд╛рд╖рд╛ рдореЗрдВ "рдЧреИрдВрдбреЗ," рдФрд░ рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВ "рдЧреИрдВрдбрд╛" рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдиреБрд╡рд╛рджрд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ
рд░рд╛рдЗрдиреЛ рдХреЛ рдЧреВрдБрдЬрддрд╛ рд╣реИ , рдЬрд╛рд╡рд╛ рдореЗрдВ рд▓рд╛рдЧреВ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЗрдВрдЬрди рдХрд╛ рдирд╛рдо рдФрд░ рдореЛрдЬрд╝рд┐рд▓рд╛ рдлрд╛рдЙрдВрдбреЗрд╢рди рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╣реИред рд░рд╛рдЗрдиреЛ, рдмрджрд▓реЗ рдореЗрдВ, рдУ'рд░реЗрд▓реА рдореАрдбрд┐рдпрд╛ рджреНрд╡рд╛рд░рд╛ рдЬрд╛рд░реА рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдкреБрд╕реНрддрдХ рдХреЗ рдХрд╡рд░ рдкрд░ рджрд░реНрд╢рд╛рдП рдЧрдП рдЬрд╛рдирд╡рд░ рдХреЗ рдирд╛рдо рдкрд░ рд░рдЦрд╛ рдЧрдпрд╛ рдерд╛ред