scala中操作符可以分为三类

2024-05-25 03:58
文章标签 scala 操作符 分为 三类

本文主要是介绍scala中操作符可以分为三类,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

(1)中缀操作符

var x1 = 1 + 2;
var x2 = 1.+(2);

(2)后缀操作符

val s6 = "abcdef"
val s7 = s6.substring(2, 3)
val s8 = s6 substring(2, 3)

(3)前缀操作符
由于操作符号就是方法,那么方法就得被调用,前缀操作符稍有不同

val i1 = -1
val i2 = 1.unary_-val i3 = +1
val i4 = 1.unary_+

(4)特殊的是,以:字符结尾的方法由它的右操作数调用,并传入左操作数。
注意,以:字符结尾的操作符是要真实存在,不可以自己手动加入
例如,写成+:错误,并没有这种写法

//::是拼接操作符, 类似concat
//Nil是一个空的List
val s11 = "abc" :: "bdc" :: Nil
val s12 = Nil.::("bdc").::("abc")

这篇关于scala中操作符可以分为三类的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1000416

相关文章

C++操作符重载实例(独立函数)

C++操作符重载实例,我们把坐标值CVector的加法进行重载,计算c3=c1+c2时,也就是计算x3=x1+x2,y3=y1+y2,今天我们以独立函数的方式重载操作符+(加号),以下是C++代码: c1802.cpp源代码: D:\YcjWork\CppTour>vim c1802.cpp #include <iostream>using namespace std;/*** 以独立函数

C++可以被重载的操作符Overloadable operators

C++允许绝大多数操作符被重载,也就是重新定义操作符实现的功能,这样它们的行为可以被设计出来以适应所有的数据类型,包括类。 以下是C++可以被重载的操作符(Overloadable operators): //四则运算符+ - * / %+= -= *= /= %=//比较运算符> >= == != //赋值运算符= //位操作

c++/《重载操作符》

为什么要对运算符进行重载:         C++预定义中的运算符的操作对象只局限于基本的内置数据类型,但是对于我们自定义的类型(类)是没有办法操作的。但是大多时候我们需要对我们定义的类型进行类似的运算,这个时候就需要我们对这么运算符进行重新定义,赋予其新的功能,以满足自身的需求。 <返回类型说明符> operator <运算符符号>(<参数表>) { <函数体> }

【JavaScript】ES6之...延展操作符

… 操作符(也被叫做延展操作符 - spread operator)已经被 ES6 数组 支持。它允许传递数组或者类数组直接做为函数的参数而不用通过apply。      延展操作符一般用于属性的批量赋值上。    通过分析① test8(…args) ②test8(args) ③ test8.apply(null, args) 易看出区别

C语言操作符汇总(上)

目录 前言 一、操作符的分类 二、⼆进制和进制转换 1. 二进制转10进制 2. 10进制转2进制数字 3.  2进制转8进制和16进制 3.1 2进制转8进制 3.2 二进制转16进制  三、原码、反码、补码  四、移位操作符 1. 左移操作符 2. 右移操作符  五、位操作符:&、|、^、~ 1.按位与: 2.按位或:  3.异或 4.按位取反   5.趁热

【scala 安装错误】错误: 找不到或无法加载主类 scala.tools.nsc.MainGenericRunner

错误: 找不到或无法加载主类 scala.tools.nsc.MainGenericRunner 原因: Scala安装路径中包含空格。 解决办法:scala 不要安装在E:\Program Files 这种有空格的目录下,简直坑

Flink实战案例(二十三):自定义时间和窗口的操作符(四)window functions之增量聚合函数(一)ReduceFunction

实例一 例子: 计算每个传感器15s窗口中的温度最小值 val minTempPerWindow = sensorData.map(r => (r.id, r.temperature)).keyBy(_._1).timeWindow(Time.seconds(15)).reduce((r1, r2) => (r1._1, r1._2.min(r2._2))) 实例二 ReduceFun

Flink实战案例(二十二):自定义时间和窗口的操作符(三)CoProcessFunction

CoProcessFunction   对于两条输入流,DataStream API提供了CoProcessFunction这样的low-level操作。CoProcessFunction提供了操作每一个输入流的方法: processElement1()和processElement2()。   类似于ProcessFunction,这两种方法都通过Context对象来调用。这个Conte

Flink实战案例(二十一):自定义时间和窗口的操作符(二)KeyedProcessFunction(二)

KeyedProcessFunction   KeyedProcessFunction用来操作KeyedStream。KeyedProcessFunction会处理流的每一个元素,输出为0个、1个或者多个元素。所有的Process Function都继承自RichFunction接口,所以都有open()、close()和getRuntimeContext()等方法。而KeyedProces

Flink实战案例(二十):自定义时间和窗口的操作符(一)KeyedProcessFunction

前言 在Flink中比如某些算子(join,coGroup,keyBy,groupBy)要求在数据元上定义key。另外有些算子操作,例如reduce,groupReduce,Aggregate,Windows需要数据在处理之前根据key进行分组。 在Flink中数据模型不是基于Key,Value格式处理的,因此不需将数据处理成键值对的格式,key是“虚拟的”,可以人为的来指定,实际数据处理