1
8
Scala中的嵌套作用域可以自由地隐藏彼此的符号表。类型不是你唯一能做的事情。例如:
所以要意识到你有迷惑自己的能力,明智地选择不迷惑地使用这种能力。 |
2
4
我不是Scala专家,但您的代码的行为完全符合我的预期。 首先,您需要知道方法的类型参数不需要绑定到类。
下面也是一个有效的Scala代码,唯一不同的是这个代码根本不使用类型a。
所以我认为现在很清楚,首先您创建了MyTest[Int]的一个实例,这很好。
然后调用checkString[A,Int],但不提供类型参数A,因为它是泛型函数,编译器必须推断什么类型是A。
在这个时间点上,Scala已经知道x必须是Int并且其类型是固定的,因为您是通过MyTest[Int]提供它的。所以下面的代码将产生编译错误。
现在,编译器查看您提供的参数,发现其
所以现在编译器知道checkString[A,Int]中的类型A必须是一个字符串,如果您手工完成所有这些,您的代码将如下所示。
|
3
1
将产生编译错误,因为泛型方法getInstance中声明的类型T与类Foo的参数类型不同。
|
4
0
它不仅仅与scala有关。在大多数语言中你都能做到。因为正如你所说的,变量在不同的范围内。 在c中#
这表示self类型。我不确定scala中的这个功能。但你提出这个问题的原因是范围级别。 |
davidzxc574 · 将字符串缩放为字符 2 年前 |
yic_l · 什么是“!”在这个函数中是什么意思? 2 年前 |
Jelly · Scala:用于理解递归未来 2 年前 |
bbgghh · 在scala中连接两个列表时如何处理不匹配的键 2 年前 |
Iheb Mar · 卡夫卡制作人/消费者粉碎每一秒的API调用 2 年前 |
B. Bal · 在Scala中重用类成员 2 年前 |