在这段代码中使用了哪种编程语言?

1 j

很久以前,我在开源社区看到了这段代码:

frq =: [:-.[:(2:|+/)\''''&=
  sp =: (#@[)([:<[}.[:>])"0 0[(]</.~[:+/\E.*.[:frq]),
  spf =: [:<[:([:','&sp[:-.&')'=&'('{"0 1,.&',')>
  cl =: #~[:-.e.&(33{.a.)*.frq
  parse =: [:([:<[:((spf@{.),(}.`([:<[:([:<[:spf"0[:'),'&sp>)"0[:');'&sp[:>{:)@.(2:=#)))[:':-'&sp>)"0 _1:}.[:'.'&sp cl

  isVar =: [:(91&>*.64&<)[:a.&i.[:{.>
  replace =: ((]i.~[:{.[){([:{:[),]`([:<[$:[:>])@.([:32&=[:3!:0[:>]))"2 0
  gp =: [:>[:{.>
  gv =: [:(#~[:+./"1 isVar"0),. 
  suit =: ([(0:`(([:(#=[:#[:~.[:{.|:)[:~.[:(#~[:-.[:isVar"0[:{:|:)gv)*.([:*./[:+./[:(isVar"0,=/),:))@.(([:#[)=[:#]))[:gp])"1 0#]
  sr =: [(](replace~[:|:])"2[:(([:-.[:isVar{:)"1#])[gv~[:gp])"1 0 suit
  groupVars =: [:([:<]$~2:,~[:-:#)"1[:>[:([:<[:;(>@[)([:<,"1 1)"1 2(>@]))/]</.~[:{.|:
  isRuleTrue =: ([:+./([:*./](isTrue~[:>])"1 0[:>[)"0 1)`(0:<[:#getVarsFromRule)@.(0:<#@gv@;@;@[)
  isTrue =: ]((a:&e.@])+.[:+./[(isRuleTrue~[:>])"1 0[:-.&a:])[:{:[:|:[:-.&(a:,a:)[:(0 2$a:)&,[:>sr
  getVars =: ;(([:<[:~.(>@{.@[)gv[:gp])`((>@{.@[)$:(<@<@gp@])([replace~[:|:[:>])"0 0(}.@[)getVarsFromRule~[:>[:{:[:>])@.([:<:[:#[:>]))"1 0 sr
  getVarsFromRule =: ](([:{.])#~[(isRuleTrue~[:>])"1 0[:{:])[:|:[(],[:<[replace~[:|:[:>])"1 0[:]`groupVars@.(0:<#)[:~.[:;[:;]([:<[getVars~[:>])"1 0[:;[

  goal =: ([:<S:0[:{.[:parse[:,&'.'])([:{&(>'No';'Yes')isTrue)`([:(]`((>@{.),[:' = '&,[:>{:)@.(2:=#))"1[:>getVars)@.([:+./[:isVar"0[)([:parse[)
Run Code Online (Sandbox Code Playgroud)

.j在这些页面上搜索过:(http://filext.com/file-extension/J),(http://fileinfo.com/extension/j).他们说是用Java语言编写的.

但是,它被命名为:interpreter.j; 并且,在其存储库中,它被定义为:Objective-J.

我问了一些人:"它是用Objective-J写的吗?".他们问我:"这段代码是否被混淆了?".


在这段代码中使用了哪种编程语言?

bob*_*bob 9

是的,它是J编程语言.如果您真的想了解更多信息,请访问http://www.jsoftware.com

因为它如此简洁,起初可能很难阅读,但有一个非常支持的社区愿意回答问题.http://www.jsoftware.com/forums.htm

此外,J交互式环境还包括实验室,它将实际引导您完成理解某些概念的过程,同时允许您使用该语言的全部功能.

相反,如果您想要了解阅读的难度,那么请继续 - 但也许还要尝试一下.:-)

  • 阅读J与阅读数学公式没什么不同.我们大多数人都可以阅读:2 + 3*4 - 5,甚至将'*'优先于'+'和' - ',因为我们在小学就读过这个.符号"+","*"和" - "的含义是在我们12年的学校中提前获得并加强的.J的语言也不例外 - 它是APL的衍生物,它是作为表示可编程,可测试的数学公式的工具而开发的.通过几个小时的练习,您将能够阅读大多数J的符号并理解许多J句子的基本含义. (2认同)