gpt4 book ai didi

scala - Scala 分配评估 Unit 而不是分配的值的动机是什么?

转载 作者:行者123 更新时间:2023-12-03 05:11:12 25 4
gpt4 key购买 nike

Scala 赋值评估 Unit 而不是分配的值的动机是什么?

I/O 编程中的常见模式是执行以下操作:

while ((bytesRead = in.read(buffer)) != -1) { ...

但这在 Scala 中是不可能的,因为......

bytesRead = in.read(buffer)

.. 返回 Unit,而不是 bytesRead 的新值。

从函数式语言中剔除似乎是一件有趣的事情。我想知道为什么要这样做?

最佳答案

我主张让赋值返回指定的值而不是单位。 Martin 和我对此反复讨论,但他的论点是,将一个值放入堆栈只是为了将其弹出 95% 的时间是浪费字节码,并对性能产生负面影响。

关于scala - Scala 分配评估 Unit 而不是分配的值的动机是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1998724/

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