【发布时间】:2016-03-06 00:22:31
【问题描述】:
J 是我决定学习的一门很棒的编程语言。作为一个简单的练习,我决定模拟一个范围。有一个内置函数 i. 创建一个范围 0..i-1。使用一些数学方法,我知道这是a 和b 之间的范围:
a + i. (b - a - 1)
成功了!我想。现在,转换为动词的“简单”任务摆在我面前。这是我现在的问题。我在动词+ 的两边都调用了a(左参数)。我曾想过使用 evoke,但我不确定如何使其发挥作用。
所以我的问题是:如何将a f (a g b) 或更具体地说,a f (a g b h c)(和类似形式)形式的表达式转换为纯动词?我不想使用明确的论据,那有什么乐趣呢? ;)
编辑我的解决方案是这样的:
range =: [(+i.)>:@-~
【问题讨论】:
-
使用该解决方案效果很好,尽管您实际上不需要带 + 的 ~ 因为 + 是自反的。 range =: [(+i.)>:@-~ 应该也可以。
-
@bob 就是这样!谢谢!
标签: j