我是否正确假设 s1.toStream 将避免在以下函数的第二行中创建不需要的元组?
def areEqual(s1: String, s2: String): Boolean = {
if (s1.length != s2.length) false
else (s1.toStream zip s2).forall { case (c1, c2) => c1 == c2 }
}
^^^^^^^^
谢谢
最佳答案
你是对的,因为一旦第一对 c1, c2 不相等,forAll
就会返回 false,因此不会生成以下组合。
关于scala - 使用流在 scala 中进行延迟评估,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49395630/