zoukankan      html  css  js  c++  java
  • scala学习笔记:各种奇怪的写法

    • Unit函数的定义:
      def foo()={println("hi")}
      等号可以省略:
      def foo(){println("hi")}

    • update方法:
      x(y) = z
      相当于:
      x.update(y, z)

    • 单参数方法的调用:
      xObject yMethod zParameter
      相当于:
      xObject.yMethod(zParameter)

    • case类的中置表示法

    h::t
    等价于
    ::(h,t)
    可以试着执行一下:

    scala> `::`(0,List(1))
    res11: scala.collection.immutable.::[Int] = List(0, 1)

    同理,
    x~y~z
    等价于
    ~(~(x,y),z)


    一些匿名类、函数参数的写法:

    • 匿名函数
      val square=(x:Double)=>Math.pow(x,2)
      可以写成:
      val square=Math.pow(_:Double,2)

    • 匿名类

    class DoubleTrans {def foo=(_:Int)*2}
    val p1 = new DoubleTrans()
    p1 foo 2

    可以简写成:

    val p2 = new {def foo=(_:Int)*2}
    p2.foo(100)
    • 匿名子类
    scala> val p3=new DoubleTrans(){override def foo=(_:Int)*3}
    p3: DoubleTrans = $anon$1@56636a77
    
    scala> p3 foo 4
    res9: Int = 12
    
    scala> p3.isInstanceOf[DoubleTrans]
    res10: Boolean = true
  • 相关阅读:
    本地存储 localStorage
    正则对象
    面向对象
    事件
    日期对象
    网易适配与淘宝适配
    自动把网页px单位转换成rem
    湖南省web应用软件(中慧杯)
    百度图片审核功能
    百度ai语音识别
  • 原文地址:https://www.cnblogs.com/bluejoe/p/5115866.html
Copyright © 2011-2022 走看看