![]() |
1
10
所有这些关于递归函数和类型的讨论都是一条红鲱鱼。Scala的语法不允许在表达式末尾以外的任何位置使用后缀运算符。这就是我们讨论的语法:没有任何语义的事物的语法。以下是规范中的相关语法:
那么,什么结束语呢?嗯,表达式出现在语法的很多地方,所以有很多东西可以结束它。在这个特定的示例中,表达式是
为了推断这个分号,下一行必须不是可以解析为另一种表达式的内容。在这种特殊情况下,我们有:
现在,让我们从编译器的角度重写它:
这些文本和标识符的解析方式如下:
所以在编译器解析你的程序时,这看起来像是一个有效的中缀表达式。后来,它注意到这些类型不匹配,但现在回头看看是否可以推断出分号已经太迟了。 |
![]() |
2
6
因为不然
但是由于正确的操作数包含
|
![]() |
3
1
下面的代码编译得很好:
|
![]() |
Wickoo · Scala变量解析:类与局部变量 3 月前 |
![]() |
Jake · 如何回滚臭鼬事务以进行集成测试?(缺少隐式原点) 5 月前 |
![]() |
Readren · 如何定义标量。标量3中元组的ValueOf? 1 年前 |
![]() |
Leif Andersen · “=>”在scala泛型中是什么意思? 1 年前 |