0

これが既存の質問であるかどうかを検索する方法さえわかりません。例を挙げましょう:

Call Instance   Date Created           Resource    Resource Status
------------------------------------------------------------------
6557            2013-07-12 11:34:19    cwood       Accepted
6556            2013-07-12 11:34:18    cwood       Accepted
                2013-07-12 11:29:25    cwood       Ready
6555            2013-07-12 09:24:41    cwood       Accepted

最後の Accepted エントリを取得せずに (Ready エントリの前に来たため)、上位 2 つの Accepted エントリを取得するにはどうすればよいですか?

Date Created を除くすべてのフィールドは、ユーザー定義のクラスです (Call、User [no, not Resource]、および ResourceStatus)。

さらにコードが役立つかどうか教えてください。

4

2 に答える 2

1

以下の問題ステートメントのロジック:

ああ、それは@dmahapatroの良い点です。時折、通話中にユーザーが話中になることがあります。私は、話中の前で準備完了の後で発生する承認済みステータスを取得したいと考えています (「前」は「の右側」にあります)。 . したがって、statusDescription != 'Ready' と statusDescription != 'Busy' などを実行する必要があると思います。人々がコードを使わなくても、コードはずっときれいになるはずです!

def list = ['A', 'A', 'A', 'R', 'A', 'A','B', 'A']

def statusBeforeBusy = list.takeWhile{ it != 'B'}
println "Statuses before Busy: $statusBeforeBusy" //[A, A, A, R, A, A]

def statusBeforeReady = list.takeWhile{ it != 'R'}
println "Statuses before Ready: $statusBeforeReady" //[A, A, A]

def statusaAfterReadyBeforeBusy = statusBeforeBusy.dropWhile{ it != 'R'}.tail()
println "Statuses After Ready before Busy: $statusaAfterReadyBeforeBusy" //[A, A]
于 2013-07-12T21:51:13.630 に答える