借助JS,J 9能够让开发人员使用REPL(R-E-P ),这是一个交互式的工具,它会计算用户的输入并打印输出,输出的内容要么是一个值要么是一个状态变更。[url=http:///www.linuxcool.com/category/knowledge]Linux命令大全[/url]的相关知识也可以到网站具体了解一下,有专业的客服人员为您全面解读,相信会有一个好的合作![align=center]https://www.linuxprobe.com/imgs/banner1.jpg[/align]
JS是什么
JS是一个API和工具,它能够帮助计算代码片段的值。代码片段必须要遵循J语言规范(J L S,JLS)的语法。JS也能够执行查询和命令。命令和片段的区别在于,命令要以一个斜线开头,可以参考如下的样例:
| *
| *
| *
| *
| *
| *
| *
JS状态其是模仿了一个JVM例。JS会借助编译器API(C API)来进行代码分析、代码补全和原始代码片段的解析,它使用J调试接口(J D I,JDI)现了代码替换功能。
如果用户不喜欢交互式界面的话,还可以使用批量脚本。
JO上展现的JS样例
在介绍R JO上的样例之前,我想要补充一句,如果你使用比较新版本的J 9 SDK并输入" –"的话,那么会发现现在的版本号字符串会有所变更,如下所示:
$ -
"9-"
J(TM) SE R E ( 9-+136)
J HS(TM) 64-B S VM ( 9-+136, )
我们可以与旧的格式进行对比:
"180_91"
J(TM) SE R E ( 180_91-14)
J HS(TM) 64-B S VM ( 2591-14, )
这种变更是由JEP 223所引入的新模式带来的。目前的版本字符串更易于解析,并且更符合当前行业践所强调的语义化版本(S V)。这种新的模式能够帮助我们更容易地识别主版本()、小版本()或安全升级的发布版本。
在上面的样例中,预发布识别符(""——读作“早期访问”)前面会有一个“-”,紧接着是一个“+”号,随后是这次构建所对应的构建号(136)。
回到样例上来,如果你在命令行输入“”的话,将会看到如下所示的JS提示:
$
| W JS -- V 9-
| F :
如果你输入一个像下面这样的简单S声明,就能看到所有可调用的方法(包括重载的方法):
S = " "
== " "
A( () PA(
PB( PC( P()
T( TIC( (
( E( W(
( IC( B(
C( C() C()
O( () E()
IO( () (
() A() BCP(
M( ( A(
F( ( W(
S( ( CA()
LC( S() UC(
() (
(4,7)
$3 == ""
AL((""))
$5 == [, , , , , , , , , , ]
AL((" "))
$6 == [, , ]
上面的样例展现了临时变量($3、$5和$6),如果需要的话,它们可以用于后续表达式的计算。
*
$6()( W(""))(CL())
$9 == [, ]
在上例中,我们导入了""包,这样的话,在C类上进行键提示的时候,就能得到它的方法列表。
结论
JS为J带来了REPL,在经典的LISP机器上,这是一项非常有用的特性。它能够帮助开发人员调试代码片段,避免了完整的编译、运行和调试流程。 |