这是我上一个问题的后续行动
假设我使用以下逻辑(在准Java中)来获取配置参数MyParam:
String myParam = null
if ((myParam = getFromArgs("MyParam")) != null)
return myParam
if ((myParam = getFromSystemProperties("MyParam")) != null)
return myParam
if ((myParam = getFromUserConfigFile("MyParam")) != null)
return myParam
... // and so on
if (myParam == null)
error("No MyParam")
如何在Scala中编写此逻辑?是Applicative适用在这里吗?
List(getFromArgs _, getFromSystemProperties _, getFromUserConfigFile _).map{func=>
Option(func("MyParam"))
}.reduce(_ orElse _).getOrElse(sys.error("No MyParam"))
Run Code Online (Sandbox Code Playgroud)
结帐scala选项cheatsheet.选项很强大.
| 归档时间: |
|
| 查看次数: |
353 次 |
| 最近记录: |