Scala 实现Monad.replictem
继续我们的练习,我将尝试实现: 定义序列[A](n:Int,ma:F[A]):F[List[A]] 除了我写的traverse、replicateOnce和ReplicateItem之外,作者是@pchiusanoEDIT(对不起,名称拼写错误) 对于Scala 实现Monad.replictem,scala,monads,Scala,Monads,继续我们的练习,我将尝试实现: 定义序列[A](n:Int,ma:F[A]):F[List[A]] 除了我写的traverse、replicateOnce和ReplicateItem之外,作者是@pchiusanoEDIT(对不起,名称拼写错误) 对于replicitem,我得到了一个编译时错误,错误:重载的方法值填充替代项 // Exercise 4: implement replicateM def replicateM[A](n: Int, ma: F[A]): F[Lis
replicitem
,我得到了一个编译时错误,错误:重载的方法值填充替代项
// Exercise 4: implement replicateM
def replicateM[A](n: Int, ma: F[A]): F[List[A]] = {
sequence(List.fill(n, ma))
}
}
请给我指出正确的方向,因为我有点卡住了。您正在调用
列表。填写不正确,这是一个部分应用的函数,因此您需要先应用n
,然后再应用ma
:
def replicateM[A](n: Int, ma: F[A]): F[List[A]] = {
sequence(List.fill(n)(ma)) //note that the comma is removed
}
您正在调用列表。填充不正确,这是一个部分应用的函数,因此需要先应用n
,然后再应用ma
:
def replicateM[A](n: Int, ma: F[A]): F[List[A]] = {
sequence(List.fill(n)(ma)) //note that the comma is removed
}
您正在调用列表。填充不正确,这是一个部分应用的函数,因此需要先应用n
,然后再应用ma
:
def replicateM[A](n: Int, ma: F[A]): F[List[A]] = {
sequence(List.fill(n)(ma)) //note that the comma is removed
}
您正在调用列表。填充不正确,这是一个部分应用的函数,因此需要先应用n
,然后再应用ma
:
def replicateM[A](n: Int, ma: F[A]): F[List[A]] = {
sequence(List.fill(n)(ma)) //note that the comma is removed
}
Noah,你能告诉我streamMonad.replicItem(2,Stream(“hello”,“world”)
)的预期输出吗?我得到了Stream(List(hello,hello),List(hello,world),List(world,hello),List(world,world))
,但我不知道它是否正确。这个输出是正确的。你应该仔细检查序列的impl,一个元素一个元素地检查它,以了解为什么它是正确的诺亚,你能告诉我streamMonad.replicateM(2,Stream(“hello”,“world”)
的预期输出吗?我得到了Stream(List)(hello,hello),List(hello,world),List(world,hello),List(world,world))
,但我不知道它是否正确。这个输出是正确的。你应该看一下序列的impl,一个元素一个元素地检查它,以了解为什么它是正确的。Noah,你能告诉我streamMonad.replicItem(2,Stream(“hello”,“world”)的预期输出吗
?我得到了流(List(hello,hello),List(hello,world),List(world,hello),List(world,world))
,但我不知道它是否正确。这个输出是正确的。你应该仔细检查序列的impl,一个元素一个元素地检查它,以了解为什么它是正确的诺亚,你能告诉我streamMonad.replicateM(2,Stream(“hello”,“world”)
的预期输出吗?我得到了Stream(List)(hello,hello),List(hello,world),List(world,hello),List(world,world))
,但我不知道它是否正确。输出是正确的。您应该查看impl-of-sequence并逐个元素地查看它,以了解为什么它是正确的