我在网上搜索了很长时间,找不到在Actor模型中克服的面向对象模型的具体缺点.请帮我一些指示和解释.
提前致谢.
以下是我想要了解的代码:
object Tryouts extends App{
val studentIds= Future{
List("s1","s2","s3")
}
val details = studentIds zip(Future{List("Tim","Joe","Fin")}).map(x=>x.tail)
details.foreach(println)
Thread.sleep(1000)
}
Run Code Online (Sandbox Code Playgroud)
问题:
val details = studentIds zip(未来{List("Tim","Joe","Fin")}).map(x => x.tail)
在这里,如果你注意到,我没有使用"." 拉链之前,只是给了一个空间.我猜可能是 .和空间都以相同的方式工作,并验证了一些堆栈溢出问题.在应用地图之前的上述表达式将导致Future [(List [String],List [String])].所以,当我说
.map(x = x.tail)应该在IDE中显示编译错误,因为尾部操作只能应用于列表而不能用于元组.但它实际上是成功执行的.
用"."执行时的相同语句.之前的zip功能如下:
val details = studentIds.zip(Future {List("Tim","Joe","Fin")}).map(x => x.tail)map(x => x.tail)给出错误.
可能是什么原因?