替换 case 子句中的字符串
假设我们有多个数据源,包括数据库,文件,提示和 argumentList 。根据所选来源,我们改变了我们的方法:
def loadData(dataSource: Symbol): Try[String] = dataSource match {
case 'database => loadDatabase() // Loading data from database
case 'file => loadFile() // Loading data from file
case 'prompt => askUser() // Asking user for data
case 'argumentList => argumentListExtract() // Accessing argument list for data
case _ => Failure(new Exception("Unsupported data source"))
}
我们可以很好地使用 String
代替 Symbol
。我们没有,因为在这种情况下字符串的功能都没有用。
这使代码更简单,更不容易出错。