bob*_*bob 4 j pointfree tacit-programming
Conor Hoekstra 最近解决了 APL 中的一个 Leetcode 问题https://youtu.be/QtvvQ7MdwKY问题是x从字符串中取出第一个单词y
在 J 中,使用&.(Under) 和;:(Words) 我可以想出一个很好的明确的一个班轮
solve =. 4 : 'x&{.&.;: y' NB. Box words in y -> take first x-> unbox words in result while retaining spaces between
s=. 'Hello how are you Contestant'
4 solve s
Hello how are you
Run Code Online (Sandbox Code Playgroud)
我遇到的麻烦是找到仍然包含的默认版本&.,主要是因为我认为x需要{.在动词创建期间绑定。这也是魔法13 :转换没有帮助的一个例子
13 : 'x&{.&.;: y'
4 : 'x&{.&.;: y'
Run Code Online (Sandbox Code Playgroud)
我可以通过使用;:^:_1创建的逆来默认解决它;:
solve2=. (;:^:_1)@:({. ;:)
4 solve2 s
Hello how are you
Run Code Online (Sandbox Code Playgroud)
但这并不像默认版本那样漂亮4 : 'x&{.&.;: y'。
任何人都有一个非常默认的解决方案4 : 'x&{.&.;: y'?