如何在kdb的列表中对连续相同的数字求和?

sxz*_*zsx 1

我有一个这样的列表:

a:1 1 1 1 2 3 1 1 4 4 4 5 6 4
Run Code Online (Sandbox Code Playgroud)

如何将所有连续相同的数字相加a,以便它将变为:

a:4 2 3 2 12 5 6 4
Run Code Online (Sandbox Code Playgroud)

MdS*_*lih 5

有很多方法 - 一种方法:

q) a:1 1 1 1 2 3 1 1 4 4 4 5 6 4
q) sum each where[differ a] _ a
    4 2 3 2 12 5 6 4
Run Code Online (Sandbox Code Playgroud)