我有一些代码
import scala.collection.mutable.ListBuffer
object FileName{
var currentFileNameList: ListBuffer[String] = new ListBuffer
def getFileName(): String = {
var fileName = java.util.UUID.randomUUID().toString();
while (true) {
if (!currentFileNameList.contains(fileName)) {
currentFileNameList = currentFileNameList :+ fileName
return fileName
} else {
fileName = java.util.UUID.randomUUID().toString();
}
}
throw new RuntimeException("Error - filename not generated")
}
}
doStuff只有一个可能的子树,但是rulesObeyed可以根据组的数量而拥有无穷无尽的规则,因为可以通过多种方式遵守规则。 这导致该计划一遍又一遍地返回相同的解决方案。
有什么方法可以说像
throw new RuntimeException("Error - filename not generated")
所以它不会考虑所有可能的规则解决方案吗?
答案 0 :(得分:1)
解决方案是使用once/1
- 或\+ \+
作为错误发布。