如何调用调用 "by-name" 作为 Scala 中的参数的函数
How would call a function that calls "by-name" as an argument in scala
我是 scala 的新手,仍处于学习的早期阶段。我正在阅读一篇文章,其中有一个这样的例子:
def example(_list: List[Positions], function: Position => Option[Path]): Option[Path] = _list match {...}
NB
- 职位是
(Int,Int)
- 路径是
List( Position )
据我了解,此方法适用于:
list of positions
Option[Path]
并将returnOption[Path]
我不明白的是我们应该如何调用这个方法?
我试过这个:
example(Nil, Option( 0,0 ) )
function
的类型是 Position => Option[Path]
- 这是 不是 别名参数,它是 类型 等同于 Function1[Position, Option[Path]]
- 一个 函数 接受一个类型为 Position
和 returns 的参数 Option[Path]
.
因此,当您调用它时,您可以传递一个具有匹配类型的 匿名函数 ,例如:
example(Nil, pos => Some(List(pos)))
example(Nil, pos => Some(List()))
example(Nil, pos => None)
你也可以传递一个方法匹配类型,例如:
object MyObj {
def posToPaths(position: Position): Option[Path] = Some(List(position))
example(Nil, posToPaths)
}
我是 scala 的新手,仍处于学习的早期阶段。我正在阅读一篇文章,其中有一个这样的例子:
def example(_list: List[Positions], function: Position => Option[Path]): Option[Path] = _list match {...}
NB
- 职位是
(Int,Int)
- 路径是
List( Position )
据我了解,此方法适用于:
list of positions
Option[Path]
并将returnOption[Path]
我不明白的是我们应该如何调用这个方法?
我试过这个:
example(Nil, Option( 0,0 ) )
function
的类型是 Position => Option[Path]
- 这是 不是 别名参数,它是 类型 等同于 Function1[Position, Option[Path]]
- 一个 函数 接受一个类型为 Position
和 returns 的参数 Option[Path]
.
因此,当您调用它时,您可以传递一个具有匹配类型的 匿名函数 ,例如:
example(Nil, pos => Some(List(pos)))
example(Nil, pos => Some(List()))
example(Nil, pos => None)
你也可以传递一个方法匹配类型,例如:
object MyObj {
def posToPaths(position: Position): Option[Path] = Some(List(position))
example(Nil, posToPaths)
}