tacit-programming相关内容
我见过很多函数都是按照 (f .) 模式定义的.g.例如: countWhere = (length .) .筛选重复 = (concat .) .复制concatMap = (concat .) .地图 这是什么意思? 解决方案 点运算符(即 (.))是 函数组合 运算符.其定义如下: infixr 9 .(.) :: (b -> c) ->(a -> b) ->->CF .g =
..
我对欧拉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
..
我已经使用J几个月了,我发现阅读不熟悉的代码(例如,我没有写自己的代码)是该语言最具挑战性的方面之一,尤其是在默认情况下.过了一会儿,我想出了这个策略: 1)将代码段复制到Word文档中 2)从(1)中取出每个运算符,并将其放在单独的行上,以使其垂直读取 3)用“词汇"页面中的口头描述替换每个运算符 4)从J语法粗略翻译成英语语法 5)使用翻译来识别概念上相关的组件,
..
我目前正在学习迷人的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 长答案 我为您提供了答案,但是在您应熟悉一些详细信息之前.我们走了.
..
请考虑以下F#:- type TestClass() = let getValFromMap m k = Map.find k m let addToMap map k i = map |> Map.add k i let mutable someMap : Map = Map.empty let getValFromMapPar
..
我在布伦特方法的'addons/math/misc/brent.ijs'实现中发现它是副词.我也想将牛顿的方法构建为副词,但比构建隐式动词要困难得多. 这是牛顿迭代的显式版本: newton_i =: 1 : '] - u % u d.1' 这种用法: 2&o. newton_i^:_ (1) NB. (-: 1p1) must be found 1.5708
..
是否可以在Lisp中使用/实现默认编程(也称为无点编程)?如果答案是肯定的,那么已经完成了吗? 解决方案 原则上,这种样式的编程在CL中是可能的,但是作为Lisp-2,必须添加多个#'和funcall .此外,例如,与Haskell相比,CL中不对函数进行管理,并且没有隐式的部分应用程序.总的来说,我认为这样的风格不是非常习惯的CL. 例如,您可以这样定义部分应用程序和组成:
..
我已经看到很多函数是根据(f。)模式定义的。克。例如: countWhere =(长度。)。过滤 duplicate =(concat。)。复制 concatMap =(concat。)。 map 这是什么意思? 解决方案 点运算符(即(。))是函数组合运算符。它的定义如下: infixr 9。 (。)::(b - > c) - > (a -
..
假设我有一个定义如下所示的平均值函数: 意思是xs = sum xs /(fromIntegral $ length xs) 但我希望它有些默契的形式,像这样: mean = sum /(fromIntegral。length) 是否有一种内置的Haskell方式来执行这些操作,而无需构建自己的 tacit 函数(如下所示): tacit ::
..
有人可以解释J中的控制结构(特别是For和While循环)吗? 假设我有a =:1和b =:10,并且我想使用For / While循环将'1'加到'a',直到
..
由于我初学者为J,我决定来解决使用这种语言的一个简单的任务,特别是实现冒泡排序算法。我知道这不是习惯用法来解决这样那样的问题,在功能性语言,因为它的自然解决使用数组元素换位命令式语言,如C,而不是构建在声明性语言修改列表。然而,这是code我已经写了: 的(((小于./@(2及{)),$:@((大于./@(2及{)),2安培;}。 ))^(1&其中;#))^:# 下面的语句的结构: ┌
..