Scala中的符号

编程语言中的符号

函数式编程中,符号很多,在这里查看Scala中的符号的含义
符号作为运算符,符号作为数据结构,符号作为方法,符号作为函数,符号作为对象。
符号和符号配合,符号和数据配合,符号和控制结构配合。

运算符

    算数运算            * / %  +  -
    关系运算符            ==  !=  >=  <=   !
    关系运算与位操作    >   <  <<  >>  <<<  >>>
    逻辑运算和位操作    &   &&  ^   |    ||
        单个符号  组合符号
        一元运算符,二元运算符,三元运算符
        运算符优先级以及结合方向

其他符号

一个符号一个含义,一个符号具有多个含义
:: 运算符 List构造
::(两个冒号)表示普通元素与List的连接操作

:::运算符 List拼接
:::(三个冒号)表示List的连接操作,比如:

<- 运算符
     <-用于for循环中,generator

 ->  运算
    返回一个二元元组
    比如A->B,->方法调用的结果是返回一个二元的元组(A,B)

=>  匿名函数;可以看做创建函数实例的语法糖,这个运算符常见的有下面三种:
    =>:Example:Int => String表示函数输入为Int型,返回String型,同Function(Int,String)
    ()=>:Example:() => T表示函数没有输入参数,但返回T
    Unit=>:Unit相当于无值的值,相当于C++中的Void

+=:为map类型变量添加元素
-=:为map类型变量移除元素及其对应的值

+:    :+

++    ++:

+  ++  +=  ++=
-  --  -=   --=

#::运算符
#::

#:::运算符
#:::

Scala 中underscore(下划线)的用法。

1、通配符导入:Wildcard imports
    import java.util._
2、占位符语法:Placeholder syntax
    List(1, 2, 3) map (_ + 2)   
3、临时变量(Ignored variables),高阶类型参数
    临时参数:Ignored parameters
    //访问元组:tuple getters
    (1,2)._2    
4、通配模式:Wildcard patterns
Some(5) match { case Some(_) => println("Yes") }
match {
     case List(1,_,_) => " a list with three element and the first element is 1"
     case List(_*)  => " a list with zero or more elements "
     case Map[_,_] => " matches a map with any key type and any value type "
     case _ =>
 }
val (a, _) = (1, 2)
for (_ <- 1 to 10)          
5、连接字母和标点符号:Joining letters to punctuation
    def bang_!(x: Int) = 5  
6、偏应用函数:Partially applied functions 
7、初始化默认值:default value
     var i: Int = _     
8、参数序列:parameters Sequence 
 _*作为一个整体,告诉编译器你希望将某个参数当作参数序列处理。
        例如val s = sum(1 to 5:_*)就是将1 to 5当作参数序列处理。
        //Range转换为List
        List(1 to 5:_*) 
        //Range转换为Vector
        Vector(1 to 5: _*)

中文符号的说明

标点符号分为点号、标号、符号三大类。
    点号:句号( .)、问号( ?)、感叹号( !)、逗号( ,)顿号(、)、分号(;)和冒号(:)。
    标号:引号(“ ” ‘ ’)、括号〔圆括号 ( )、方括号 [ ]、花括号 { }、 〕、破折号( - )、
            省略号(..)、 着重号( .)、间隔号(·)、连接号( — )和专名号( ____ )。
    符号:注释号( * )、斜线号( / )、代替号(~)、连珠号(……)、箭头号( →)。
其他常用:
    数学符号 ≈ ≡ ≠ = + - * / =   >>  << = == !=  !  &
    ! @ # $   % ^  & *  
组合符号
    %%   ::  :::  ==
    <-   #::  %/%  %*%    :_*

英文符号说明

    .   period, dot     句号,点 
    ,   comma           逗号 
    :   colon           冒号 
    ;   semicolon       分号 
    ?   question mark   问号 
    ~   tilde           波浪符
    !   exclamation mark (英式英语) exclamation point (美式英语) 
    '   apostrophe 撇号 
    -   hyphen 连字号 
    --  dash 破折号 
    ... dots/ ellipsis 省略号
    "   single quotation marks 单引号 
    ""  double quotation marks 双引号 
    ‖   parallel 双线号 
    &   ampersand = and 
    →   arrow 箭号;参见号
    |   vertical bar, vertical virgule 竖线
    &   ampersand, and, reference, ref 和,引用 
    *   asterisk, multiply, star, pointer 星号,乘号,星,指针 
    /   slash, divide, oblique 斜线,斜杠,除号 
    //  slash-slash, comment 双斜线,注释符 
    #   pound 井号 
    \   escape 反斜线转义符,有时表示转义符或续行符 
    ()  brakets/ parentheses 括号
    []  square brackets 方括号 
    {}  brace 花括号

参考:

浅谈 Scala 中下划线的用途 https://my.oschina.net/leejun2005/blog/405305
scala中常用但其他语言不常见的符号含义 http://www.cnblogs.com/xinlingyoulan/p/6031157.html

blogroll

social