【发布时间】:2021-06-11 05:02:20
【问题描述】:
阅读课本,我正在测试这个简单的scala 2.12 代码:
var b:ArrayBuffer[Int] = new ArrayBuffer();
b.append(5);
b += (8, 3, 2);
for(i <- 0 to 3 reverse)
println(b(i));
但我收到了错误消息:
import clause 'import scala.language.postfixOps'
or by setting the compiler option -language:postfixOps.
See the Scaladoc for value scala.language.postfixOps for a discussion
why the feature should be explicitly enabled.
当然,我当时做了想要的导入,并且成功了:
import scala.language.postfixOps
2
3
8
5
但是通过导入解锁的语言关键字的概念是什么?
隐含地,我检查了for 关键字在Scala 中是否立即可用,
我假设while 和大多数其他人也是,
但如果reverse 和其他一些不存在,则意味着有一个列表...
禁用关键字 (???)
但我不知道那个列表,也不知道为什么它们是必须明确激活的。
- 不鼓励使用它们吗?
- 它们是否已弃用?
- 或者处于“早期预览”状态,打算在
Scala 2.13或更高版本中真正实现,并且被认为是不稳定的?
【问题讨论】:
-
您是否按照错误消息的提示进行操作并阅读了文档?你找到了什么?您能否解释一下,准确地,您对文档了解和不了解,您对不了解的部分做了哪些研究,在研究过程中发现了什么,以及为什么没有?帮不上你?这样,你 a) 防止回答者浪费他们的时间和你的重复你已经知道的东西,b) 防止回答者浪费他们和你的时间重复你已经研究过但不理解的东西,以及 c) 帮助 Scala 开发人员改进文档,以便
-
……未来的开发者不会遇到与您相同的障碍。你基本上会让世界变得更美好,谁不想要呢?另外,你能澄清你的问题吗?您在标题和正文中多次提到关键字,但我在您的问题或解决方案中看不到任何与关键字相关的内容。
-
@JörgWMittag 嘿,请冷静。不要把事情看得太个人化。 Scala 不是一种如此封闭的语言,因此在 SO 中不允许对它提出任何问题以简化其理解。此外,Michal 在下面给出的解释是,它的一部分内容已被弃用。
-
如果您同意 Michal 的回答,那么您应该接受它。
标签: scala