0
関数をクラスのメンバーとして使用する方法を理解しようとしていますが、正しい構文を理解できません。私は、コンパイルエラーを取得:関数をクラスメソッドとして使用する
test.scala:11: error: missing arguments for method extra in class RichString;
follow this method with `_' if you want to treat it as a partially applied function
println("This is".extra);
は、どのように私はクラスRichString
の外で定義された関数としてextra
を維持し、String
クラスを拡張するためにそれを使用するのでしょうか?
ありがとうございました。
test.scala:
class RichString(a: String) {
def extra(a: String):String
}
def extra(a: String): String = {
return a+" Extra!";
}
implicit def string2Rich(s: String) = new RichString(s);
println("This is".extra);
私は、「余分」が「リッチストリング」クラスの外でどのように動作するかの論理を保つことを望んでいました。私の例では、 'extra'のロジックはクラス外で定義されています。試してくれてありがとう。 – Jeremiah
@Jeremiahしかし、どのような方法でもクラスやオブジェクトのどこかに定義する必要があります。 –
@ matthew-farwell私は、クラス(C++のような)で関数を宣言することは可能だと仮定していましたが、クラスの外で関数の定義を保持しています...間違っていましたか? – Jeremiah