小编Tim*_*Tim的帖子

在filterM中,为什么在创建所有列表之后对一次return(如果b然后x:ys else ys)求值一次?

filterM :: Monad m => (a -> m Bool) -> [a] -> m [a]
filterM p [] = return []
filterM p (x:xs) = do b <- p x
                      ys <- filterM p xs
                      return (if b then x:ys else ys)
Run Code Online (Sandbox Code Playgroud)

> filterM (\x -> [True,False]) [1,2,3]
[[1,2,3],[1,2],[1,3],[1],[2,3],[2],[3],[]]
Run Code Online (Sandbox Code Playgroud)

难道return (if b then x:ys else ys) 每次创建列表时进行评估?是的,为什么没有结果[[1,2,3]],[[1,2]],[[1,3]],[[1]],[[2,3]],[[2]],[[3]],[[]]

结果是否[[1,2,3],[1,2],[1,3],[1],[2,3],[2],[3],[]]暗示return (if b then x:ys else ys) 在创建所有列表之后对它进行一次评估?

monads haskell

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

从C C++中的文件中读取矩阵

只是想知道,对于存储在文件中的矩阵是什么,即文件中的每一行是矩阵的一行,其中元素由空格分隔,我如何预先确定矩阵的大小,然后创建一个相同大小的数组,并在C和C++中读入数组?如果您有一些代码示例,那将不胜感激!

感谢致敬!

c c++ matrix

0
推荐指数
1
解决办法
2422
查看次数

将值传递给函数时调用哪些函数

在C++中,如果将类的对象作为参数传递给函数,则将调用该类的复制构造函数.

我想知道对象是否是非类型的,将调用什么函数?

类似地,在C中,将值或变量地址传递给函数时会调用什么函数?

感谢致敬!

c c++ function parameter-passing

0
推荐指数
1
解决办法
335
查看次数

如何操纵以下文字

我想知道如何转换类似于以下内容的文本:

Chapter 3 Convex Functions 97
3.1 Definitions 98
3.2 Basic Properties 103
Run Code Online (Sandbox Code Playgroud)

至:

("Chapter 3 Convex Functions 97" "#97")
("3.1 Definitions 98" "#98")
("3.2 Basic Properties 103" "#103")
Run Code Online (Sandbox Code Playgroud)

通过使用一些方便但功能强大的文本操作语言和/或实用程序,如sed,awk,regex,perl,python,...

感谢致敬!


注意:在每一行中,重复最后一个数字.

python regex perl awk sed

0
推荐指数
1
解决办法
143
查看次数

这些方法是否在 MongoDB 服务器中创建新的数据库和集合

来自 Shiju Varghese 的 Go Web Development

为了对 MongoDB 执行 CRUD 操作,需要*mgo.Collection创建一个对象,该对象代表 MongoDB 集合。你可以创建一个对象*mgo.Collection通过调用方法C*mgo.Database

mgo.Database类型表示可以通过调用创建指定的数据库DB的方法*mgo.Session

清单 8-5 访问名为“categories”的 MongoDB 集合。

清单 8-5。访问 MongoDB 集合

c := session.DB("taskdb").C("categories")
Run Code Online (Sandbox Code Playgroud)

Go 程序中的DBC方法是否同时创建数据库对象和集合对象

  • 对于 MongoDB 服务器中的现有数据库和现有集合?

  • 对于不存在的数据库和不存在的集合,以便方法将在 MongoDB 服务器中创建新的数据库和集合,这些数据库和集合将被命名为方法的参数?

谢谢。

go mongodb mgo

0
推荐指数
1
解决办法
3930
查看次数

当接口之间似乎没有继承关系时,为什么两个接口之间的转换可以工作?

我试图理解其他人编写的一些代码.因为我不允许发布也很复杂的原始代码,所以我必须简化它

IAData a = SomeProperty;
IBData b = a as IBData;
BData ret = b.B;
Run Code Online (Sandbox Code Playgroud)

where IADataIBData是两个接口:

public interface IBData
{
    BData B { get; set; }
}

public interface IAData
{
    void Clear();
}
Run Code Online (Sandbox Code Playgroud)

private IAData _aData;
public IAData SomeProperty { get { return _aData; } }
Run Code Online (Sandbox Code Playgroud)

为什么可以a显式转换为b,因为似乎有之间没有继承关系IADataIBData

我错过了什么吗?如果我过多地简化代码,请道歉.

谢谢.

c#

0
推荐指数
1
解决办法
59
查看次数

如何测试抽象类中定义的虚拟方法?

我需要对抽象类中定义的虚拟方法进行单元测试。但基类是抽象的,所以我无法创建它的实例。你建议我做什么?

这是以下问题的后续问题:我正在考虑是否可以通过抽象类的子类的实例进行测试。这是个好办法吗?我该怎么做?

c# testing unit-testing

0
推荐指数
1
解决办法
3777
查看次数

什么是“实例方法”?

来自3.数据模型

\n
\n

实例方法

\n

实例方法对象组合了类、类实例和任何\n可调用对象(通常是用户定义的\xef\xac\x81ned 函数)。

\n
\n

如果是定义的话,它的含义是什么?

\n

如果不是定义,那么“实例方法”的定义是什么?

\n

“实例方法”与类的方法是同一概念吗?

\n

既然有人提出了类方法和静态方法、绑定方法和非绑定方法,那么我澄清一下:

\n

我理解类的方法可以是普通方法、类方法或静态方法。我了解通过类或其实例访问的类的方法可以被绑定或函数。我从未听说过“实例方法”。即使看了引用,我也不知道它是什么,也不确定它是否与普通方法、类方法、静态方法、绑定方法或函数相关。

\n

python class object instance-methods python-3.x

0
推荐指数
1
解决办法
5154
查看次数

Python 如何绕过正常的属性查找来查找`__dict__`?

我知道__dict__ inobj.__dict__是 的描述符属性type(obj),因此查找obj.__dict__type(obj).__dict__['__dict__'].__get__(obj)

来自/sf/answers/3260320661/

很容易说它__dict__必须是一个描述符,因为__dict__将它实现为条目将需要您先找到 , __dict__然后才能找到__dict__,但是在查找其他属性时Python 已经绕过了正常的属性查找来查找__dict__,因此这并不像它最初听起来。如果描述符被替换为 each 中的一个'__dict__'__dict____dict__仍然可以找到。

“Python 已经绕过正常的属性查找来查找__dict__”如何?“正常属性查找”是什么意思?

根据链接中引用的上下文,我不认为作者在撰写该内容时提到了查找obj.__dict__type(obj).__dict__['__dict__'].__get__(obj).

python attributes descriptor python-3.x python-internals

0
推荐指数
1
解决办法
316
查看次数

如何在 postgresql 中显示目录和模式?

来自/sf/answers/1256071841/

在 Postgres 和 SQL 标准中,我们都有这样的包含层次结构:

  • 一台计算机可能有一个或多个集群。
  • 数据库服务器是一个集群
  • 一个集群有[目录][8]。(目录 = 数据库)
  • 目录有[schemas][9]。(Schema = [namespace][10] of tables,和安全边界)
  • 模式有 [][11]。
  • 表有 [][12]。
  • 行有,由[][13]定义。

在 postgresql 中,我有一个名为的数据库students,下面有一个名为的表student

postgres=# \c students
You are now connected to database "students" as user "postgres".
students=# \dt;
 public | student | table | postgres
Run Code Online (Sandbox Code Playgroud)

我想知道数据库students是否也是目录?

students和之间的模式在哪里student

一般来说,我如何列出

  • 所有目录和
  • 目录下的所有模式,以及
  • 架构下的所有表?

我怎样才能显示

  • 当前目录,以及
  • 当前模式?

谢谢。

postgresql

0
推荐指数
1
解决办法
7945
查看次数