如何调用一个调用" by-name"的函数。作为斯卡拉的论据

时间:2016-11-22 12:06:08

标签: scala functional-programming method-call scala-option pass-by-name

我对scala很新,并且还处于学习的早期阶段。我正在读一篇有这样一个例子的文章:

def example(_list: List[Positions], function: Position => Option[Path]): Option[Path] = _list match {...}

NB

  • 排名是(Int,Int)
  • 路径是List( Position )

根据我的理解,这种方法将成立:

  • list of positions

  • Option[Path]

并将返回Option[Path]

我不明白我们应该怎么称呼这种方法?

我试过了:

example(Nil, Option( 0,0 ) )

1 个答案:

答案 0 :(得分:2)

if(!empty($_GET['id'])) { $id = $_GET['id']; $url = file_get_contents("http://127.0.0.1:8080/api/table.json?output=html&udptype=trap&udpmsgid=".$id."&content=udpmessage"); } 的类型为function - 这是一个名字参数,它是类型,相当于{{ 1}} - 一个函数,它接受Position => Option[Path]类型的一个参数并返回Function1[Position, Option[Path]]

因此,当您调用它时,您可以传递具有匹配类型的匿名函数,例如:

Position

您还可以传递匹配类型的方法,例如:

Option[Path]