1. 泛型限定

泛型中的符号 <: >: <% : + -

符号 作用
[T <: UpperBound] 上界
[T >: LowerBound] 下界
[T <% ViewBound] 视界
[T : ContextBound] 上下文界
[+T] 协变
[-T] 逆变

参考: https://blog.csdn.net/datadev_sh/article/details/79589238#t4

2. 集合操作符

:: +: :+ ++ ++: :::
这些符号全都是连接的作用,将元素与集合、集合与集合相连接

:: 操作符是右结合的,如9 :: 5 :: 2 :: Nil相当于 9 :: (5 :: (2 :: Nil))。所以 :: +: :::这些操作符都是在前面插入( ++: 除外,为什么?)。:+ ++ ++:这些是追加、拼接。

scala> val a =  List(1,2,3)
a: List[Int] = List(1, 2, 3)
scala> val b = List(4,5,6)
b: List[Int] = List(4, 5, 6)
符号 操作 结果 位置 解释
:: a :: b List(List(1, 2, 3), 4, 5, 6) 前插 把a当成一个元素,前插到b集合
+: a +: b List(List(1, 2, 3), 4, 5, 6) 前插 同上
:+ a :+ b List(1, 2, 3, List(4, 5, 6)) 后插 把b当成一个元素,后插到a集合
++ a ++ b List(1, 2, 3, 4, 5, 6) 拼接 a和b集合顺序合并
++: a ++:b List(1, 2, 3, 4, 5, 6) 拼接 同上
::: a::::b List(1, 2, 3, 4, 5, 6) 拼接 同上

参考: https://blog.csdn.net/datadev_sh/article/details/79587108#t28

3. 数学运算符

+ - * / %

定义函数, xxx => yyy 左边是函数变量,右边是函数返回值

遍历中的<- 将变量赋给索引

for( i <-  arrs )

->方法是所有Scala对象都有的方法,返回一个二元的元组(A,B)

scala> 1 -> 2
res9: (Int, Int) = (1,2)

4. 神奇的下划线 _

参考: http://blog.csdn.net/i6448038/article/details/50017427

5. _N(下划线数字)

_N用于访问元组的第N个元素(N从1开始算起)。

val pair = (99, "Luftballons")  
println(pair._1)  
println(pair._2)  
Tinga 是一个用于自然语言处理 (NLP) 的 Scala 库。 此外,它还集成了一些机器学习 (ML) 库。 此外,NLP 和 ML 的一些应用程序如情感极性检测(意见挖掘)被集成为 tinga 的模块。 目前我们开发了三个模块: 自然语言处理 自然语言处理 自然语言处理模块有一些用于 NLP 典型任务的基本工具: 文本预处理:删除停用词、变音 符号 和标点 符号 ,启用或禁用特定于语言的字符。 目前我们可以处理西班牙语、英语、法语、意大利语和德语。 Tokenizer:在 tinga ,基本标记是 Word。 Word 被认为是文本的原子单位。 单词之后是 Sentence 标记,最后是 Paragraph 标记。 Part-of-Speech Tagger:每个单词标记都标有其 PoS 标签。 但是,创建您自己的代币并使用我们的 Brill 的 PoS 创建可以执行各种查询的知识库: val kb = Set [ Sentence ]( ∀( 'p )( 'smokes ( 'p ) implies 'cancer ( 'p )), ∀( 'p )( 'cancer ( 'x ) implies 'dies ( 'p )), 'smokes ( " john " ), 'smokes ( " mary " ) val query1 = kb entails 'dies ( " john " ) 一个建立在 scala 上的小型命令行计算器,它接受。 有人在 Ruby 发布了等效的版本,并要求任何愿意接受挑战的人使用他们选择的语言编写自己的语言。 由于我不是那种放过在 Scala 编写代码的机会的人,因此在复习了我的解析器组合器后,我坐下来写了这篇文章。 要运行它,您需要安装 scala 和 sbt,这在 OSX 上非常简单: brew install scala sbt 然后,从项目目录 ,运行sbt assembly以生成可执行的 jar,最后,使用计算器: java -jar ./target/ scala -2.XX/RPNCalculator-assembly-X.X.jar "3 4 - 5 + 2 *" 或者,您可以使用sbt "run \"3 4 - 5 + 2 *\"" ,使用 Scala 安装直接编译和运行代码。 :: 操作符是右结合的,如9 :: 5 :: 2 :: Nil相当于 9 :: (5 :: (2 :: Nil))。所以 :: +: :::这些操作符都是在前面插入( ++: 除外,为什么?)。:+ ++ ++:这些是追加、拼接。 创建 SparkSessionfrom pyspark.sql import SparkSessionspark = SparkSession.builder \ .appName("Word Count") \ .getOrCreate()构建 sc from pyspark.sql import SparkSessionspark = SparkSession.builder \ 文章目录读取文件数据按行读取按字符读取写入数据 读取文件数据 在 Scala 语言的 Source单例对象 , 提供了一些非常便捷的方法, 从而使开发者可以快速的从指定数据源(文本文 件, URL地址等) 获取数据, 在使用 Source单例对象 之前, 需要先导包, 即 import scala .io.Source . 我们可以以 行 为单位, 来读取数据源 的数据, 返回值是一个 迭代器类型的对象 . 然后通过 toArray, toList 方 法, 将这些数据放到数组或者列表 即可. object map {   def main(args: Array[String]): Unit = {     val conf = new SparkConf().setAppName("test"... age =36 //System.currentTimeMillis()是一个方法需要{} println(s"${System.currentTimeMillis()} $name ’s age is$age")