4

次のステートメントを検討してください。

process.text.readLines[3..<-1]

うまくいくはずです。基本的に、配列の最初の 2 つの要素を取り除きます。ただし、範囲演算子は末尾の -1 によって混乱します。これは -1 より小さいためです。この問題は、配列を変数として格納し、-1 を size() に置き換えることで簡単に解決できますが、これには余分な行と変数の定義が必要です。これを簡単に表現する方法はありますか?

4

2 に答える 2

8

私はあなたができると信じています:

process.text.readLines()[ 2..-1 ]

また:

process.text.readLines().drop( 2 )
于 2012-12-12T21:50:19.437 に答える
2

これもトリックを行います:

process.text.readLines().with { it[2..size()-1] }

上記のように単純に呼び出すよりも長くなりdropますが、より大きなコンテキストによっては、少し読みやすくなる場合があります。with新しい変数の定義を回避できます。

于 2012-12-13T06:04:24.333 に答える