2014-02-20 33 views
0

varID是Scala中的某种关键字吗?我在看一些代码,我看到的是这样的:scala中的varID关键字

require(factor.varId == varId, "Can't multiply two factors: variable ids do not match") 

我看着因子类,它被定义为:

trait Factor { 

    type FACTOR_TYPE <: Factor 
    def getVariableIds(): Seq[Int] 
    def *(factor: Factor): FACTOR_TYPE = throw new UnsupportedOperationException("Not supported") 
} 

我不明白这是什么VARID从这个定义。我来自C++的背景,所以这对我来说有点新鲜。

回答

1

不,没有这样的关键字。如果你会检查你的代码,你会发现,varId是通过或定义的值/变量。如果您使用IDE,则可以导航到定义。

这里是斯卡拉的关键字列表:

abstract 
case 
catch 
class 
def 
do 
else 
extends 
false 
final 
finally 
for 
forSome 
if 
implicit 
import 
lazy 
match 
new 
null 
object 
override 
package 
private 
protected 
return 
sealed 
super 
this 
throw 
trait 
try 
true 
type 
val 
var 
while 
with 
yield 
_ 
: 
= 
=> (⇒) 
<- (←) 
<: 
<% 
>: 
# 
@ 
+0

谢谢您的回答。从我在原始文章中的Factor类的定义中,factor.vardID应该是未定义的,对吗? – Luca

+0

不完全。因子是一个特征,与“界面”相似。所以你的'factor'对象是Factor的一个子类。所以它可以具有varId值。 – psisoyev

+0

谢谢!我想到了!谢谢你的帮助。 – Luca