私は Scala の Parser ライブラリをいじっています。長さが指定され、その後にその長さのメッセージが続く形式のパーサーを作成しようとしています。例えば:
x.parseAll(x.message, "5helloworld") // result: "hello", remaining: "world"
コンビネータを使用してこれを行う方法がわかりません。私の心は最初に行きます:
def message = length ~ body
しかし、明らかに体は長さに依存し、それを行う方法がわかりません:p
代わりに、メッセージ パーサーを 1 つのパーサー (パーサーの組み合わせではなく) として定義するだけで済みます。
とにかく、私はスカラ初心者です。これは素晴らしいと思います:)