ググラビリティ低すぎる話題が、ScalaやHaskellには多い。
この場合は、"scala sharp"でググると、知りたいことが得られたりはする。
要点としては以下。
中に別のクラスが定義されているクラスにおいて、内部クラスが型となっている引数のメソッドを呼び出す場合、A.Bみたいな書き方はできなくて、a1.Bもしくはa2.Bみたいな書き方しか出来ない。a1.B≠a2.Bであるが、それはたとえばPHPでいうところの==と===のレベルではなく、そもそも「型が違う」と怒られる。なので、a1のf関数の引数はa1のBであって、別のインスタンスのBではない。
これを回避するために、Scalaでは#が用意されている。#を使うと、a1インスタンスのf関数の引数にa1とは違うインスタンスを引数とすることが出来る。
なお、#については、ここにも書いてあったりはする。 Jim McBeath: Scala Syntax Primer
でも、#が使えると何が嬉しいのかは知らない。。。
- アーティスト: bloodthirsty butchers
- 出版社/メーカー: ユニバーサルミュージック
- 発売日: 2013/09/25
- メディア: CD
- この商品を含むブログを見る