![](/img/trans.png)
[英]Why does “a”.::(List()) report error “:: is not member of string”?
[英]Why does the `is not a member of` error come while creating a list in scala using the :: operator
我正在学习scala,我注意到以下代码行不起作用
val worldFreq = ("India", 1) :: ("US", 2) :: ("Berlin", 10)
错误的结果: error: value :: is not a member of (String, Int) val worldFreq = ("India", 1) :: ("US", 2) :: ("Berlin", 10)
然而,这行代码完美地工作
val worldFreq = ("India", 1) :: ("US", 2) :: ("Berlin", 10) :: Nil
worldFreq: List[(String, Int)] = List((India,1), (US,2), (Berlin,10))
有人可以帮助我了解错误消息以及它与Nil一起使用的事实。
发生这种情况是因为::
是右关联运算符。
因此,当您键入(1, 2) :: Nil
它将转换为Nil.::((1,2))
。 显然,元组上没有::
方法,因此您不能编写(1, 2) :: (3, 4)
。
您可以在此处阅读更多信息: Scala的'::'运算符,它如何工作?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.