小编Sib*_*ibi的帖子

在bash中仅使用ls列出目录:检查

此命令列出当前路径中的目录: ls -d */

这个模式究竟做了*/什么?

我们如何在上面的命令(例如ls -d /home/alice/Documents)中给出绝对路径以仅列出该路径中的目录?

directory bash ls

885
推荐指数
17
解决办法
77万
查看次数

什么是索引monad?

什么是索引monad和这个monad的动机?

我已经读过它有助于跟踪副作用.但类型签名和文档并没有把我带到任何地方.

什么是如何帮助跟踪副作用(或任何其他有效的例子)的例子?

monads haskell

94
推荐指数
5
解决办法
1万
查看次数

什么是Levity多态性

正如问题的标题所示,我想知道什么是Levity多态性及其动机是什么?我知道这个页面里面有一些细节,但大部分的解释都是我的头脑.:)

虽然这个页面更友好,但我仍然无法理解它背后的动机.

haskell

76
推荐指数
1
解决办法
4658
查看次数

haskell中的attoparsec或parsec

我必须解析一些文件并将它们转换为某些预定义的数据类型.

Haskell似乎为此提供了两个包:

  1. attoparsec
  2. 秒差距

它们之间有什么区别,哪一个更适合根据某些规则解析文本文件?

haskell parsec attoparsec

70
推荐指数
1
解决办法
8620
查看次数

什么构成除列表以外的类型的折叠?

考虑一个单链表.它看起来像

data List x = Node x (List x) | End
Run Code Online (Sandbox Code Playgroud)

定义折叠函数是很自然的

reduce :: (x -> y -> y) -> y -> List x -> y
Run Code Online (Sandbox Code Playgroud)

从某种意义上说,reduce f x0替代每一个Nodef一位Endx0.这就是Prelude所说的折叠.

现在考虑一个简单的二叉树:

data Tree x = Leaf x | Branch (Tree x) (Tree x)
Run Code Online (Sandbox Code Playgroud)

定义诸如的函数同样很自然

reduce :: (y -> y -> y) -> (x -> y) -> Tree x -> y
Run Code Online (Sandbox Code Playgroud)

请注意,这种减少具有完全不同的特征; 而基于列表的一个本质上是顺序的,这个新的基于树的一个具有更多的分而治之的感觉.你甚至可以想象par在那里扔几个组合器.(你会在列表版本中放置这样的东西?)

我的问题:这个功能是否仍被归类为"折叠",还是其他东西?(如果是的话,它是什么?)

基本上每当有人谈论折叠时,他们总是谈论折叠列表 …

haskell functional-programming terminology fold

64
推荐指数
4
解决办法
8203
查看次数

什么是管道/管道试图解决

我见过人们为各种懒惰的IO相关任务推荐管道/管道库.这些库到底解决了什么问题?

此外,当我尝试使用一些与hackage相关的库时,很可能有三个不同的版本.例:

这让我很困惑.对于我的解析任务,我应该使用attoparsec或pipes-attoparsec/attoparsec-conduit?与普通香草attoparsec相比,管道/导管版本给我带来了什么好处?

haskell pipe conduit haskell-pipes

49
推荐指数
3
解决办法
5859
查看次数

检查List中的值是否是String的一部分

我有一个像这样的字符串:

val a = "some random test message"
Run Code Online (Sandbox Code Playgroud)

我有一个这样的列表:

val keys = List("hi","random","test")
Run Code Online (Sandbox Code Playgroud)

现在,我想检查字符串是否a包含任何值keys.我们如何使用Scala的内置库函数来完成这项工作?

(我知道拆分a到List 的方式,然后用keyslist 进行检查,然后找到解决方案.但我正在寻找一种更简单地使用标准库函数解决它的方法.)

string scala list

44
推荐指数
2
解决办法
2万
查看次数

为什么类型同义词中的类约束需要RankNTypes

编译好:

type List a = [a]
Run Code Online (Sandbox Code Playgroud)

但是当我引入类约束时,编译器要求RankNTypes包括:

type List2 a = Num a => [a]
Run Code Online (Sandbox Code Playgroud)

包含该扩展后,它编译得很好.为什么编译代码需要扩展名?

编辑:为什么我首先需要约束?

我检查这个镜头类型(type RefF a b = Functor f => (b -> f b) -> (a -> f a)从)这个职位,并发现它实际需要的RankNTypes,因为的Functor约束.

haskell higher-rank-types haskell-lens

25
推荐指数
1
解决办法
1897
查看次数

用于HTTP通信的Haskell库

什么是涉及HTTP请求的Web客户端编程的推荐库.

我知道有一个名为HTTP的软件包,但它似乎不支持HTTPS.它有更好的图书馆吗?

我期待着与功能,就像一个图书馆这样 Haskell的.

haskell haskell-platform

22
推荐指数
3
解决办法
3582
查看次数

Python 3 Map函数不是Calling up函数

为什么以下代码不打印任何内容:

#!/usr/bin/python3
class test:
    def do_someting(self,value):
        print(value)
        return value

    def fun1(self):
        map(self.do_someting,range(10))

if __name__=="__main__":
    t = test()
    t.fun1()
Run Code Online (Sandbox Code Playgroud)

我正在Python 3中执行上面的代码.我想我错过了一些非常基本但却无法解决的问题.

python functional-programming python-3.x map-function

19
推荐指数
2
解决办法
1万
查看次数