scala下划线的使用(_)

scala 下划线使用指南 原文地址:https://my.oschina.net/joymufeng/blog/863823   作者:joymufeng 下划线这个符号几乎贯穿了任何一本Scala编程书籍,并且在不同的场景下具有不同的含义,绕晕了不少初学者。正因如此,下划线这个特殊符号无形中增加Scala的入门难度。本文希望帮助初学者踏平这个小山坡。 1、用于替换Java的等价语法 由于大部分的Java关键... 阅读详情

第一:初始化的时候。

object Sample {
  var name: String = _

  def main(args: Array[String]) {
    name = "hello world"
    println(name)
  }
}

在这里,name也可以声明为null,例:var name:String=null。这里的下划线和null的作用是一样的。

第二:引入的时候。

import math._
object Sample {
  def main (args: Array[String]){
    println(BigInt(123))
  }
}

这里的math._就相当于Java中的math.*; 即“引用包中的所有内容”。

第三:集合中使用。(最典型,最常用)

object Sample {
  def main (args: Array[String]){
    val newArry= (1 to 10).map(_*2)
    println(newArry)
  }
}

这里的下划线代表了集合中的“某(this)”一个元素。这个用法很常见,在foreach等语句中也可以使用。

第四:模式匹配。

object Sample {
  def main (args: Array[String]){
    val value="a"
    val result=  value match{
      case "a" => 1
      case "b" => 2
      case _ =>"result"
    }
    println(result)
  }
}

在这里的下划线相当于“others”的意思,就像Java switch语句中的“default”。

还有一种写法,是被Some“包”起来的,说明Some里面是有值的,而不是None。

object Sample {
  def main(args: Array[String]) {
    val value = Some("a")
    val result = value match {
      case Some(_) => 1
      case _ => "result"
    }
    println(result)
  }
}

还有一种表示队列

import collection.immutable._

object Sample {
  def main (args: Array[String]){
    val value=1 to 5
    val result=  value match{
      case Seq(_,_*) => 1
      case _ =>"result"
    }
    println(result)
  }
}

第五:函数中使用。

object Sample {
  def main (args: Array[String]){
    val set=setFunction(3.0,_:Double)
    println(set(7.1))
  }
  def setFunction(parm1:Double,parm2:Double): Double = parm1+parm2
}

这是Scala特有的“偏函数”用法。

第六:元组Tuple。(如果这也算是的话)

object Sample {
   def main (args: Array[String])={
     val value=(1,2)
     print(value._1)
   }
}

第七:传参。

object Sample {
   def main (args: Array[String])={
    val result=sum(1 to 5:_*)
     println(result)
   }
  def sum(parms:Int*)={
    var result=0
    for(parm <- parms)result+=parm
    result
  }
}

当函数接收的参数不定长的时候,假如你想输入一个队列,可以在一个队列后加入“:_*”,因此,这里的“1 to 5”也可以改写为:“Seq(1,2,3,4,5)”。这算是一个小的用法吧

Python实现ARIMA模型 以下是一个使用Python实现ARIMA(自回归移动平均模型)的简单示例代码。在运行代码之前,请确保已经安装了pandasnumpy和库。ARIMAorder(2,0,2)p = 2d = 0q = 2forecastmatplotlib在实际应用中,你需要将模拟数据替换为真实的时间序列数据,并且通过合适的方法(如信息准则等)来确定pdq的最佳值。除了auto_arima在使用pmdarima。 阅读详情

相关推荐

Sharding-JDBC 系列专题 - 第九篇:高可用性与集群管理

高可用性是指系统在面对故障(如数据库宕机、网络中断)时,能够快速恢复并继续提供服务。Sharding-JDBC 和 Sharding-Proxy 提供了多种机制支持高可用性,同时需要结合底层数据库的高可用方案(如 MySQL 主从复制、MHA)来实现。高可用性和集群管理是 Sharding-JDBC 和 Sharding-Proxy 在生产环境中成功应用的关键。本篇详细介绍了数据库高可用方案、Sharding-JDBC 的故障切换机制、Sharding-Proxy 的集群部署,以及分布式治理功能。

资深架构师分享:深入剖析软件架构,探讨云计算、微服务、大数据等前沿技术。分享实践经验,促进技术交流,共同构建卓越系统。 1393

Scala下划线“_”的用法

第一:初始化的时候。object Sample { var name: String = _ def main(args: Array[String]) { name = "hello world" println(name) } }在这里,name也可以声明为null,例:var name:String=null。这里的下划线和null的作用是一样的。第二:引入的时候。i

辉哥大数据 2528

自组织映射神经网络(SOM)

目录 1 背景:自组织(竞争型)神经网络 2竞争学习的概念与原理 2.1 竞争学习的步骤 2.2 示例 3SOM典型结构 4SOM网的权值调整域 5 SOM Kohonen 学习算法 6 SOM示例 7SOM设计细节 7.1输出层设计 7.2输出层节点排列的设计 7.3 权值初始化问题 7.4学习率的设计 7.5设计拓扑领域 8SOM功能分析 8.1 保序映射 8.2数据压缩 8.3 特征提取 9自组织映射神经网络与K均值算法的区别...

weixin_39910711的博客 1万+

Scala下划线“_”的常用用法大全

在Scala中,我们随处可见下划线“_”,本篇博客记录了Scala中下划线“_”的各种常用用法,可能不是全部的用法。 目录 一、集合和函数中使用 1.1 集合 1.2 函数 二、作为通配符 2.1import语句 2.2case语句 2.3元组(tuple) 三、下划线和其他符号组合的使用方式 3.1下划线与星号(_*) 3.1.1 变长参数 3.1.2变量声明中...

guofei_ok的博客 3422

从MIPS汇编到C语言:手把手教你用Mars模拟器理解指令集(附实战代码)

本文详细介绍了如何使用Mars模拟器从MIPS汇编过渡到C语言编程,通过实战代码解析ADD、LW、BEQ等指令集与C语言结构的对应关系。内容涵盖环境搭建、算术运算、内存访问、条件分支及函数调用等核心概念,帮助读者深入理解MIPS指令分类和计算机底层运行机制。

weixin_26821003的博客 357

别再傻傻分不清PBR和NPR了!从《原神》到《双城之战》,聊聊游戏里那些让你眼前一亮的渲染风格

本文深入解析了PBR(基于物理的渲染)与NPR(非真实感渲染)在游戏视觉风格中的应用差异,通过《原神》和《双城之战》的案例,展示了两种渲染技术如何创造出截然不同的艺术效果。从技术原理到实战案例,帮助读者理解如何根据项目需求选择合适的渲染风格。

weixin_30425949的博客 147

Scala中的下划线到底有多少种应用场景

我目前了解的有一下几个用处: 1、作为“通配符”,类似Java中的*。如import scala.math._ 2、:_*作为一个整体,告诉编译器你希望将某个参数当作参数序列处理!例如val s = sum(1 to 5:_*)就是将1 to 5当作参数序列处理。 3、指代一个集合中的每个元素。例如我们要在一个Array a中筛出偶数,并乘以2,可以用以下办法: a.fil...

congliibm的专栏 1386

《Mac 配置 Codex App 代理完整指南:端口检测 + launchctl 设置 + 取消代理》

本文详细介绍 Mac 上 Codex App 代理配置完整流程,包括如何查看代理端口、如何使用 launchctl 设置 HTTP_PROXY / HTTPS_PROXY、如何验证代理是否生效以及如何取消代理配置。适用于 Mac Codex 代理、Mac HTTP_PROXY 设置、Mac ChatGPT 代理等开发环境场景。

weixin_50029578的博客 5341

【Scala】Scala中的_ 和 _*分别代表什么

将函数 赋值给一个变量,注意语法 val max4 = max3 _ 如果函数的参数,函数体(右边),有且仅使用一次,参数可以使用下划线_代替 println("--litter--") greeting("litter",println(_)) 作为函数的参数 一个匿名的函数传递给一个方法或者函数的时候,scala会尽量推断出参数类型。例如一个完整的匿名函数作为参数可以写为 sc...

wyz0516071128的博客 3万+

避坑指南:用Adams做滚珠丝杠仿真时90%人会遇到的3个建模错误

本文针对使用Adams进行滚珠丝杠动力学仿真时常见的三大建模错误,提供了详细的避坑指南。重点解析了如何避免因直接导入CAD几何体导致的性能与精度问题,科学设置接触参数以提升计算效率与结果平滑度,以及通过规范的命名与组织管理模型,确保仿真过程高效可靠。

gin88的博客 573

ARMv8/ARMv9的TLB深度学习

千万不要人云亦云。一个TLB entry里有很多很多东西的,有100多个比特位呢,并不是仅仅只有VA/PA/nG/VMID/ASID等。.👉👉👉 个人博客笔记导读目录(全部) 👈👈👈。

baron-周贺贺-代码改变世界ctw 1569

Scala中的下划线使用总结

Scala中的下划线使用总结: 1. 方法转化为函数 例如: def m1(x:Int,y:Int)=x*y val f1=m1 _ 2. 集合中的每一个元素 例如: val list=List(1,2,3,4) val list1=list.map(_ * 10) 3. 获取元组Tuple中的元素 例如: val t=("hadoop",3.14,100) t._1 ...

qq_40233706的博客 497

导数与微分在 FPS 射击游戏中的实际应用:把“手感”算出来

摘要:射击游戏开发中,单线程适用于简单小游戏(如单机打靶),所有任务由主线程顺序处理,代码简单但效率较低;多线程则适合复杂场景(如多人在线3D大作),通过渲染、逻辑、网络、音效等线程分工协作,确保画面流畅、响应迅速和实时同步。选择依据取决于游戏复杂度、联网需求和性能要求,小型游戏用单线程,大型高要求项目必须采用多线程架构。(149字)

本博客聚焦游戏开发技巧、创业实战心得及大学热门课程干货。这里既有技术深度,也有思维广度,无论你是开发者、创业者还是高校学子,都能在这里找到适合自己的成长之路! 3278

Scala中下划线的使用 24

1. 将方法转化为函数 def m1(x:Int,y:Int) = x*y val f1 = m1_ 2. 集合中的每一个元素 val list = List(1,2,3,4) val list1 = list.map(_ * 10) 3. 获取元组Tuple中的元素 val t = ("hadoop",3.14,100) t._1 t._2 t._3 4. 模式匹配 val w...

啊策策大数据社区 218

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

scala中_下划线的使用

学亮编程手记 451

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Scala之下划线_的使用场景

下划线引言1、作为包引入的通配符2、方法转换为函数3、初始化变量4、作为元组索引的前缀5、作为函数值的隐式参数6、作为模式匹配的通配符 引言 \quad \quadscala中,_下划线这个字符似乎无处不在,可能是Scala中使用最广泛的符号,作用是通配符,下面来总结以下它的使用场景。 1、作为包引入的通配符 导入包中所有的类 import scala.collection.immutable._ 2、方法转换为函数 如 scala> def add(x:Int,y:Int)=x+y add:

weixin_45666566的博客 228

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

scala中何时使用下划线_在Scala中使用下划线

scala中何时使用下划线Underscore (_) character is reserved in Scala and has multiple usages in the programming language. Based on functions that use the underscore have the following usages: 下划线(_)字符在Scala中保留...

cumtb2002的博客 374

【Scala】下划线的使用总结

1. 用于导包下的所有内容 2. 访问元组 3. 为类中的var属性赋默认值 4. 匿名函数作为实参传递时用下划线简化 5. 用于模式匹配等价于else

渐渐的忘记,赶不上明天(读研ing,2024年毕业) 369

scala的类和对象的使用下划线初始化成员变量

使用下划线初始化成员变量 scala中有一个更简洁的初始化成员变量的方式,可以让代码看起来更加简洁。 用法 在定义var类型的成员变量时,可以使用_来初始化成员变量 String => null Int => 0 Boolean => false Double => 0.0 … val类型的成员变量,必须要自己手动初始化 示例 定义一个Person类,包含一个姓名和年龄字段...

汉子一枚 2710

Scala 021 使用下划线初始化成员变量

Scala 使用下划线初始化成员变量

大数据流浪法师的学习笔记与分享 822

Scala中的下划线使用总结 Scala 中的 _ Scala _

Scala中的下划线使用总结 1. 方法转化为函数 例如: def m1(x:Int,y:Int)=x*y val f1=m1 _ 2. 集合中的每一个元素 val list=List(1,2,3,4) val list1=list.map(_ * 10) 3. 获取元组Tuple中的元素 例如: 例如: val t=("hadoop",3.14,100) t._1 t...

lljazxx的博客 265

地表最强系列之Scala下划线使用方法

导入通配符 *在Scala中是合法的方法名,所以导入包时要使用_代替。 //Java import java.util.*; //Scala import java.util._ 类成员默认值 Java中类成员可以不赋初始值,编译器会自动帮你设置一个合适的初始值: class Foo{ //String类型的默认值为null String s; } 而在Scala中必须要显式指定,如果你比较懒,可以用_让编译器自动帮你设置初始值: class Foo{ //String类型

qq_40375298的博客 259

03Scala下划线的使用

1.方法转换为函数 scala> def m(x:Int,y:Int) = x*y m: (x: Int, y: Int)Int scala> val f = m _ f: (Int, Int) => Int = <function2> 2.集合中的每一个元素 scala> val list = List(1,2,3,4) list: List[Int] = ...

hao难懂的博客 194

scala中下划线的使用

第一:初始化的时候。 object Sample { var name:String=_ def main (args: Array[String]){ name=”hello world” println(name) }在这里,name也可以声明为null,例:var name:String=null。这里的下划线和null的作用是一样的。 第

qq_14950717的博客 550

Scala基础-下划线使用指南

欢迎访问PlayScala社区 下划线这个符号几乎贯穿了任何一本Scala编程书籍,并且在不同的场景下具有不同的含义,绕晕了不少初学者。正因如此,下划线这个特殊符号无形中增加Scala的入门难度。本文希望帮助初学者踏平这个小山坡。 文章目录1.用于替换Java的等价语法1.1 导入通配符1.2 类成员默认值1.3 可变参数1.4 类型通配符2.模式匹配2.1 默认匹配2.2 匹配集合元素Sc...

大数据梦想家 8539
上一篇: flume拦截器
下一篇: 并发编程修炼一:进程和线程
yjgithub
博客等级 码龄11年 53粉丝 105原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值