【Scala基础学习】:scala高级函数—006

String高级操作:

  • 插值:在双引号的前面写上s,在字符串内部的变量名前加上美元符号($)
  • 多行字符串:连按三次shift 加双引号
  // 插值
  val name = "张三"
  println(s"hello:$name")

  // 多行字符
  val team = "AC Milan"
  val b =
    s"""
      |这是一个多行字符
      |hello,
      |$team
    """.stripMargin
  println(b)

匿名函数:

  • 函数可以命名,也可以不命名。
  • 匿名函数可以传给一个变量,也可以传给一个函数。
  • 匿名函数的使用: map(x=>x+1)
  // 匿名函数
  (x: Int) => x + 1
  
  // 匿名函数传给变量
  val m = (x: Int) => x + 1
  print(m(1))

  // 匿名函数传给函数
  def add = (x: Int) => x + 1
  println(add(10))

 

柯里化(currying):

将原来接受两个参数的一个函数,转换为两个

  def sum(a:Int,b:Int) = a+b
  println(sum(2,3))

  def sum2(a:Int)(b:Int) = a+b
  println(sum2(2)(3))

 高阶函数:

  • map:逐个区操作集合中的每个元素
  • foreach:遍历
  • filter:过滤
  • take:取前集合
  • reduce:两两计算
  • reduceLeft:
  • reduceRight:
  • fold:
  • flatten:压扁所有元素
  • flatmap:压扁操作
  // scala 计算wordcount  
  val txt = scala.io.Source.fromFile("/a.txt").mkString
  val txts = List(txt)
  txts.flatMap(_.split(",")).map((_,1)).groupBy(_._1).mapValues(_.size)

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值