2017-07-16 2 views
0

オブジェクトに基づいてposition IntRange。私はこれをやろうとしました:KotlinソートMutableList私はこのトークンオブジェクトを持つプロパティ

tokens 
      .sortedBy { it.position.first } 

しかし、私はオブジェクトのキーワードを使用した後にオブジェクトにアクセスしていないので、位置は赤で強調表示されています。

提案がありますか?あなたがしてToken Sを並べ替えることができます THEN

//makes the parameter to a property by `val` keyword---v 
class Token(val type: TokenType, val value: String, val position:IntRange = 0..0) 

答えて

1

positionは、たとえば、primary constructor/varvalによってキーワードにpropertyにそれを作るために、むしろpropertyよりparameterです例えば、position

tokens.sortedBy { it.position.first } 
+0

ああ、ダムミス。ありがとうございました:) – OhMad

+0

@Rechunkまったくありません。光栄です、 :) –

1

もう1つの観察は、sortedByは、ソートされたリストのコピーを返します。変更可能なリストを適切な場所に並べ替えるには、sortBy関数を使用する必要があります。

関連する問題