Ale*_* Ya 7 scala sbt sbt-assembly
这些短语是什么意思:
xs @ _*
ps @ _*
从文件复制:
assemblyMergeStrategy in assembly := {
case PathList("javax", "servlet", xs @ _*) => MergeStrategy.first
case PathList(ps @ _*) if ps.last endsWith ".html" => MergeStrategy.first
case "application.conf" => MergeStrategy.concat
case "unwanted.txt" => MergeStrategy.discard
case x =>
val oldStrategy = (assemblyMergeStrategy in assembly).value
oldStrategy(x)
}
Run Code Online (Sandbox Code Playgroud)
在你的例子中_*
意味着一切,@
为了匹配
xs @ _*
是案例模式意味着选择与第一个案例匹配的所有东西 /javax/servlet/*
ps @ _*
意味着选择所有匹配为 /* 并带有html
扩展名的
“@”运算符用于在模式匹配中绑定到变量。
<somevar> : _*
用于将可变参数解包为适当类型的序列。
在此示例中,ps @ _*
告诉模式匹配从 PathList 中检索可变参数作为路径序列。