【发布时间】:2015-06-30 18:03:46
【问题描述】:
我编写了一个算法来获取中缀语句,将其更改为后缀,现在我想对该语句执行计算。我见过this as a sample,但我不明白它的某些部分会发生什么。它正在使用 Scala Stack。
-
这部分是如何工作的:
case x :: y :: xs => xs ++ List(op(y, x)) 我在计算中使用的类型是整数和 RDD,所以在本例中,如果我将“Float”替换为“Any”,对吗?
【问题讨论】:
-
如果你不明白那行在做什么,我怀疑你根本不明白 scala 的
match语句是做什么的。查看docs.scala-lang.org/tutorials/tour/pattern-matching.html 或tutorialspoint.com/scala/scala_pattern_matching.htm 之类的教程,然后再返回。 -
@soong 谢谢我理解匹配我的问题是语法“x::y::xs”
-
::是List的特殊语法,表示附加到列表。因此,总体而言,“我可以将其解构为一个包含两个项目和一个余数(可以为空)的列表吗?如果是这样,这些项目是x和y,其余的是xs' -
谢谢宋,这是我对第一个问题的回答!
-
关于第 2 部分,我对 RDD 不太熟悉,但是从查看 API 来看,我有点困惑。它们是
RDD[Int]类型吗?RDD对象有基本的算术运算吗?我没有看到它们,但也许我不是在寻找相关的隐式转换。