tacit-programming相关内容

如何在J中重构它?

我对欧拉1号项目的新手解决方案 +/((0=3|1+i.1000-1) +. (0=5|1+i.1000-1)) * (1+i.1000-1) 我知道可以将其重构并转换为功能,我不知道该怎么做,我必须阅读所有实验室的知识以了解它. 解决方案 不必“处理零",因为加零不会改变答案,因此您可以使用i.生成数字列表小于1000,例如: i. 10 0 1 2 3 4 5 6 ..
发布时间:2020-07-25 23:39:11 其他开发

读取J代码的最佳策略

我已经使用J几个月了,我发现阅读不熟悉的代码(例如,我没有写自己的代码)是该语言最具挑战性的方面之一,尤其是在默认情况下.过了一会儿,我想出了这个策略: 1)将代码段复制到Word文档中 2)从(1)中取出每个运算符,并将其放在单独的行上,以使其垂直读取 3)用“词汇"页面中的口头描述替换每个运算符 4)从J语法粗略翻译成英语语法 5)使用翻译来识别概念上相关的组件, ..
发布时间:2020-07-25 23:39:07 其他开发

如何在J中过滤列表?

我目前正在学习迷人的J编程语言,但是我无法弄清的一件事是如何过滤列表. 假设我有任意列表3 2 2 7 7 2 9,并且我想删除2s,但其他所有内容保持不变,即我的结果将是3 7 7 9.我到底该怎么做? 解决方案 简短答案 2 (~: # ]) 3 2 2 7 7 2 9 3 7 7 9 长答案 我为您提供了答案,但是在您应熟悉一些详细信息之前.我们走了. ..
发布时间:2020-07-25 23:39:04 其他开发

J:牛顿法的默示副词

我在布伦特方法的'addons/math/misc/brent.ijs'实现中发现它是副词.我也想将牛顿的方法构建为副词,但比构建隐式动词要困难得多. 这是牛顿迭代的显式版本: newton_i =: 1 : '] - u % u d.1' 这种用法: 2&o. newton_i^:_ (1) NB. (-: 1p1) must be found 1.5708 ..
发布时间:2020-05-21 20:09:24 其他开发

Lisp中的默认编程

是否可以在Lisp中使用/实现默认编程(也称为无点编程)?如果答案是肯定的,那么已经完成了吗? 解决方案 原则上,这种样式的编程在CL中是可能的,但是作为Lisp-2,必须添加多个#'和funcall .此外,例如,与Haskell相比,CL中不对函数进行管理,并且没有隐式的部分应用程序.总的来说,我认为这样的风格不是非常习惯的CL. 例如,您可以这样定义部分应用程序和组成: ..
发布时间:2020-05-02 04:23:58 其他开发

什么是(f。)。 g的意思是在Haskell中?

我已经看到很多函数是根据(f。)模式定义的。克。例如: countWhere =(长度。)。过滤 duplicate =(concat。)。复制 concatMap =(concat。)。 map 这是什么意思? 解决方案 点运算符(即(。))是函数组合运算符。它的定义如下: infixr 9。 (。)::(b - > c) - > (a - ..

记者:自引用冒泡排序默契实施

由于我初学者为J,我决定来解决使用这种语言的一个简单的任务,特别是实现冒泡排序算法。我知道这不是习惯用法来解决这样那样的问题,在功能性语言,因为它的自然解决使用数组元素换位命令式语言,如C,而不是构建在声明性语言修改列表。然而,这是code我已经写了: 的(((小于./@(2及{)),$:@((大于./@(2及{)),2安培;}。 ))^(1&其中;#))^:# 下面的语句的结构: ┌ ..