我目前正试图找到我的方式进入斯卡拉的世界。其实我试图实现没有可变类型的循环策略。斯卡拉 - 实现无可变类型的循环法
我有一个Scala对象,包含主机的初始列表以及获取下一个主机的方法。
Object RoundRobin {
val optHosts: Option[List[String]] = Option[List[String]]("host1", "host2") // get from Configfile later
var hosts: List[String] = optHosts.getOrElse(List())
def url: String = {
hosts = hosts.tail ++ List(hosts.head)
hosts(0)
}
def execute = ??? // do something with the next host
}
我看了一下Scala中不可改变的队列,但我真的不知道如何与不变类型解决这个问题。不知何故,我将不得不记得索引权?那种使用不可变类型没有意义的情况之一是什么?
你能否澄清OptHosts(具体是它的类型)? –
当然,将它添加到示例代码中。 – MeiSign