次のステートメントを検討してください。
process.text.readLines[3..<-1]
うまくいくはずです。基本的に、配列の最初の 2 つの要素を取り除きます。ただし、範囲演算子は末尾の -1 によって混乱します。これは -1 より小さいためです。この問題は、配列を変数として格納し、-1 を size() に置き換えることで簡単に解決できますが、これには余分な行と変数の定義が必要です。これを簡単に表現する方法はありますか?
次のステートメントを検討してください。
process.text.readLines[3..<-1]
うまくいくはずです。基本的に、配列の最初の 2 つの要素を取り除きます。ただし、範囲演算子は末尾の -1 によって混乱します。これは -1 より小さいためです。この問題は、配列を変数として格納し、-1 を size() に置き換えることで簡単に解決できますが、これには余分な行と変数の定義が必要です。これを簡単に表現する方法はありますか?
私はあなたができると信じています:
process.text.readLines()[ 2..-1 ]
また:
process.text.readLines().drop( 2 )
これもトリックを行います:
process.text.readLines().with { it[2..size()-1] }
上記のように単純に呼び出すよりも長くなりdrop
ますが、より大きなコンテキストによっては、少し読みやすくなる場合があります。with
新しい変数の定義を回避できます。