【发布时间】:2019-01-24 14:54:47
【问题描述】:
我们需要从一个案例类中创建一个请求查询字符串。案例类包含可选属性:
case class Example(..., str: Option[String], ..)
如果选项存在,我们想创建一个查询参数,否则没有查询参数。喜欢:
match example.str {
case Some(s) => s"¶m_str=$s"
case _ => ""
}
因为它出现在很多地方,我希望它更通用:
def option2String(optionString: Option[String], template: String) = {
optionString match {
case Some(str) => template.replaceAll("\\$str", str)
case _ => ""
}
但我认为它可以做得更优雅或 scala 惯用的,可能是call-by-name arguments?
【问题讨论】:
标签: scala optional stringtemplate