0
私はスカラーで文字列パーサーを開発中です。私は常に同じ数のパラメータに一致する必要はない問題に直面しています。定義されていない数のパラメータと一致するスカラパターン
、次のように自分のコードをより明確にするために:あなたが見ることができるように
line match {
case regex(first, second, third, ...) => // sometimes 2 arguments, sometimes more
// do stuff
case _ =>
println("Wrong parsing")
}
、私は動的に私の引数を定義する必要があります。これを達成するアイデアはありますか?私はリストを使用しようとしましたが、私は成功しませんでした。
PS:sheunis'答えのおかげで、私は解決策を見つけた:私の正規表現を動的に
UPDATEが生成されます。あなたの答えのための
line match {
case regex(args @ _*) =>
println(args(0))
println(args(1))
println(args(2))
... // as much as you have
case _ => println("Wrong parsing")
}
感謝。これは実際には完全には動作しません。なぜなら、ここでは配列と配列を比較するのに対し、String(ログ)に一致させたいからです。 – ImbaBalboa
最後にあなたの答えに触発されました。できます ;) – ImbaBalboa