gpt4 book ai didi

scala - 在 Scala 中生成文件名的功能方法

转载 作者:行者123 更新时间:2023-12-04 21:55:35 28 4
gpt4 key购买 nike

好的,我想生成临时文件名。所以,我用 var tempFileName 创建了一个类和 fileNo这样它就可以创建类似的文件

BSirCN_0.txt
BSirCN_1.txt
BSirCN_2.txt

但是,要做到这一点,我必须数数,我要走的路是 next()按顺序返回文件名的类的函数(在上述情况下应返回 BSirCN_4。现在这与 FP 背道而驰,因为我正在修改状态,即对象中的名称计数。我如何以功能方式做到这一点.我能想到的一种方法是在调用函数的地方计数并连接。还有其他方法吗?

最佳答案

只需返回一个新对象:

case class FileGenerator(tempFileName: String, fileNo: Long = 0) {
lazy val currentFileName = tempFileName + "_" + fileNo
lazy val next = FileGenerator(tempFileName, fileNo + 1)
}


然后你可以这样做:
val generator = FileGenerator("BSirCN")

val first = generator.currentFileName
val next = generator.next.currentFileName

关于scala - 在 Scala 中生成文件名的功能方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55870288/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com