2017-10-08 7 views
1

コトルでは、`this`を使わずに自分自身のクラス内に関数を適用できますか?

などがあります。我々は

fun Int.test(value: Int) {} 

を持っているとき、私たちは

1.test(2) 

を使用することができますし、我々は中置

infix fun Int.test(value: Int) {} 

を入れたときに我々は、以下のクラスについて

として
1 test 2 

を使用することができますです大丈夫

は、クラス自体の中に呼び出しがあるので、
class myclass { 
    fun main() { 
     test(1) 
    } 
    fun test(value: Int) {} 
} 

しかし、中置以下とは、それが

class myclass { 
    fun main() { 
     this test 1 
    } 
    infix fun test(value: Int) {} 
} 

は私がthis省略することができます持っている必要があり、

class myclass { 
    fun main() { 
     test 1 
    } 
    infix fun test(value: Int) {} 
} 

どうやら大丈夫ではないでしょうか?

+0

関連:https://stackoverflow.com/questions/35976405/infix-notation-and-with-does-not-work-as-i-expected – BakaWaii

+0

[挿入記号...と(...)期待通りに動作しません](https://stackoverflow.com/questions/35976405/infix-notation-and-with-does-not-work-as-i-expected) – zsmb13

答えて

3

それは省略することはできませんあなたのケースでthisあるinfix機能、使用しているとき、あなたは常に左のオペランドが必要です

をその周りに方法はありません

receiver functionName parameter」。

関連する問題