0

私はスカラーにとってはまだ新しく、学習の初期段階です。何私からList(Position) スカラーの引数として "by-name"を呼び出す関数をどのように呼び出すか

ある

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

NB

  • ポジション(Int,Int)
  • パスです:私はそうは次のように例を持っていた記事を読んでいましたこのメソッドは、保持することを理解:

    • list of positions

    • Option[Path]

    と私は理解していない何Option[Path]

    を返します。我々は、このメソッドを呼び出すことになっている方法ですか?

    私はこの試みた:functionのタイプはPosition => Option[Path]ある

    example(Nil, Option(0,0))

答えて

2

機能 - - これは、それがFunction1[Position, Option[Path]]と同等ですタイプない名前による引数のさ1つの引数がPositionで、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) 
} 
+0

ゾハールありがとうございました。その誤解を取り除くために本当に感謝します – Kacy

関連する問題