2016-11-21 10 views
1

Scalaのプログラミング言語では+とは何ですか?シンボルの意味:+:Scala?

object Devices { 
    private[endpoints] def endpoints(myService: MyService[Future], pService: PService[Future]) = 
    "devices"/(
     banDevice(myService, pService) :+: 
     unbanDevice(myService, pService) 
    ) 

これはコードスニペットです。私はfinagleライブラリを使用しています。

  • 私はスカラが関数名をシンボルとして持つことができます。これはその例ですか?
  • このfinagleで定義されたメソッドの擁護はどこにありますか?
  • これらのメソッドをオーバーライドすることはできますか?
+1

https://github.com/finagle/finch/blob/master/docs/endpoint.md#coproduct-endpoints –

+1

特別な意味はありません。これは、インポートされたライブラリの1つで定義されたメソッドの名前です。 – jwvh

+1

また、あなたの質問に影響を与えるかもしれない主要な図書館の詳細を含めてください。たとえば、この場合はFinagleとFinchです。 –

答えて

4

Scalaこの機能はありません。使用しているライブラリの1つに含めることができます。あなたのコードによれば、あなたはピンガグを使用しているかもしれません!

したがって、Peter Neyensは指摘したとおり:https://github.com/finagle/finch/blob/master/docs/endpoint.md#coproduct-endpointsです。

あなたが探しているものを説明しているようです。

P.s:ライブラリの1つで、それ以外は何もありません。あなたの更新の質問への答えで

2

  • はい、そのコードは:+:という名前の関数(実際はメソッド)を呼び出しています。
  • おそらくAPIがオンラインで公開されている(おそらくhere)ことがあります。
  • クラスがsealedでなく、メソッドがfinalでない場合は、それを上書きできるはずです。
関連する問題