【scala】语法的省略】的更多相关文章

withSpout在spark中是用来做DAG可视化的,它在代码里的用法如下(以map为例,spark 2.0.0版本) def map[U: ClassTag](f: T => U): RDD[U] = withScope { val cleanF = sc.clean(f) new MapPartitionsRDD[U, T](this, (context, pid, iter) => iter.map(cleanF)) } 因为对scala语法比较生疏,初次见面,一脸懵逼,这里的with…
看惯了JAVA的语法,再看scala的语法,有的晦涩难懂.正好遇到一个介绍scala语法的文章,就直接截图留念.省的再临时抱佛脚了.…
我们直到JAVA在语法方面是冗长的,但是JAVA的可读性非常好. 在Scala的语法并不像JAVA那样冗长,但是又不失可读性,我们这里记录一下常见的语法省略. 首先是我们可以省略数据类型,因为Scala有自动的类型判断机制. 完整写法   var  myVar :String = “Scala”: 我们可以省略掉类型声明,让它来自己判断   var myVar = “Scala”: 其实方法也是可以省略返回数据类型的. 完整写法   def add(a:Int,b:Int) :Int = { r…
对象的apply方法 (1)对象调用apply()方法,可省略成() (2)string对象的apply方法返回第n个字符 "hello"(4) //'o' if语句的返回值 java把语句和表达式看做2个东西,语句执行动作,表达式返回值.eg:if语句没有返回值.而scala中,大部分的语法结构都有返回值. (1)if..else..语法结构的返回值 = if/else后面跟随的表达式的值 scala> val s = if(1>0) 1 else -1 res0: In…
类型推断 挑逗指数: 四星 我们知道,Scala一向以强大的类型推断闻名于世.很多时候,我们无须关心Scala类型推断系统的存在,因为很多时候它推断的结果跟直觉是一致的. Java在2016 年也新增了一份提议JEP 286,计划为Java 10引入局部变量类型推断(Local-Variable Type Inference).利用这个特性,我们可以使用var定义变量而无需显式声明其类型.很多人认为这是一项激动人心的特性,但是高兴之前我们要先看看它会为我们带来哪些问题. 与Java 7的钻石操作…
参考:http://docs.scala-lang.org/cheatsheets/index.html.http://docs.scala-lang.org/.http://www.scala-lang.org/api/2.10.4/#package 变量   var x = 5 变量 好val x = 5不好x=6 不变 var x: Double = 5 显式类型 功能   好def f(x: Int) = { x*x }不好def f(x: Int) { x*x } 定义函数隐藏错误:无…
一 简介 Scala 是一门多范式(multi-paradigm)的编程语言,设计初衷是要集成面向对象编程和函数式编程的各种特性.Scala 运行在Java虚拟机上,并兼容现有的Java程序.Scala 源代码被编译成Java字节码,所以它可以运行于JVM之上,并可以调用现有的Java类库. 二 安装与环境配置 Scala 语言可以运行在Window.Linux.Unix. Mac OS X等系统上.Scala是基于java之上,大量使用java的类库和变量,使用 Scala 之前必须先安装 J…
JAVA中,举例你S是一个字符串,那么s(i)就是该字符串的第i个字符(s.charAt(i)).Scala中使用apply的方法 JAVA与C++的?:操作符 等同于Scala的 if ( x > 0)  1 else -1 x>0 ? 1: -1 //JAVA或C++ 在Scala中,每个表达式都有一个类型,如下: if ( x > 0) "positive" else -1 其中一个分支是java.lang.String 而另一个分支是Int,他们的公共超类型是…
(1)基本语法 变量 val var(可变变量): 数据类型 Byte,Char,Int,Short,Long,String(字符),Float,Double,Boolean(true,flase). 列子: val a = 3; or val a:Int = 3*//不可变,不能重新赋值 var b = 4.33; or var b:Double = 4.33 *//可变, 可赋值b = 3.9999; 字面量 : 5 + 6 ; == (5).+(6)//scala是纯面向对象语言,+为方法…
目录 main方法和def 函数 变量,类型转换,字符串分割拼接 文件读写和JDBC 面向对象编程 继承 case类,最常用的 main方法和def 函数 package scala_01 /** * main方法只能放在object中运行 * object 修饰的类 就相当于静态类 也相当于代码加载到虚拟机中的 "类对象" * 类中的方法及属性 相当于自动加上了 static * 可以直接通过 "类对象"(类名)直接进行调用 * 单例模式 */ object Sc…
1:双重for循环(相当于j是i的内存循环):for (i <-0 to n; j <-10 to 20){ println(i);println(j)} 2:单层for循环:for (i <-0 to n) print(i) 3:单层for循环(不包含上限):for (i <-0 until n) print(i) 4:break需要借助breakable: import scala.util.control.Break._ n=10 breakable { for (i <…
模式匹配 1)match val a = 1 val b=a match { *// a match { }返回值赋予变量 b case 1 => "red" case 2 => "green" case _ => "Not Allowed" *//其他通配符 _ or case unexpected => unexpected +"is Not ALLOWED" } println(b) // 输出r…
(1)类,对象 //定义类(属性.方法),实例化对象 class counter{ *//主构造器 class counter(name:String,mode:Int){ ... } 实例化:val mycoun = new counter("mycoun",3) private var privatevalue = 0 private var name = " " private var mode = 1 def value = privatevalue def…
摘自官网 variables   var x = 5 Good x = 6 Variable. val x = 5 Bad x = 6 Constant. var x: Double = 5 Explicit type. functions   Good def f(x: Int) = { x * x } Bad def f(x: Int) { x * x } Define function.Hidden error: without = it’s a procedure returning U…
传送门 https://stackoverflow.com/questions/8522149/eclipse-not-recognizing-scala-code 还是 直接用eclipse的 scala IDE吧…
第一步:执行下面这个命令: mkdir -p ~/.vim/{ftdetect,indent,syntax}for d in ftdetect indent syntax ; do curl -o ~/.vim/$d/scala.vim https://raw.githubusercontent.com/gchen/scala.vim/master/scala.vimdone 第二步:在~/.vimrc中添加: syntax on…
练习 package scala_01.practice import org.junit.{Before, Test} import scala.collection.immutable import scala.collection.immutable.StringOps import scala.collection.mutable.ListBuffer import scala.io.Source /** * 1.统计班级人数 * 2.统计学生的总分 */ class Practice1…
例1: 此时没有写返回值,但是有等号,函数会自己推断返回值,此时的返回值是Int def add(x:Int, y:Int) = { x+y} 例2: 此时没有写返回值,也没有等号,无论函数内部有没有返回值,返回值都是Unit def add(x:Int, y:Int){ x+y}…
目录 变量.常量和数据类型 var val 数据类型 条件表达式 块表达式 to循环 for循环 for推导式 scala中的方法和函数 方法的定义 函数的定义 函数和方法的区别 变量.常量和数据类型 var var修饰的是变量,variable,值是可变的 var 变量名 [: 变量类型] = 变量值 scala> var age : Int = 23 age: Int = 23 scala> var age = 23 //这里的变量类型可以省略不写,scala会自行推断 age: Int…
  Scala语法与JAVA有很多相似的地方,两者也可以相互调用.但是整体感觉Scala语法等简洁.灵活.这里记录下Scala有特点的地方,以备以后查找方便.   参考: 使用 import: http://wiki.jikexueyuan.com/project/scala-development-guide/use-import.html Scala教程: http://www.runoob.com/scala/scala-tutorial.html scala class和object,t…
上次我们介绍了函数式编程的好处,并使用scala写了一个小小的例子帮助大家理解,从这里开始我将真正开始介绍scala编程的一些内容. 这里会先重点介绍scala的一些语法.当然,这里是假设你有一些java或者python的基础,毕竟大部分人不会将scala当作第一门学习编程的语言. 不过这些语法知识记不住也没关系,本身语法这种东西就应该在使用中被记住.这里写这篇的目的也只是梳理一遍,方便大家对语法有个初步的印象,后面可以随时查询. PS:所使用的版本是scala 2.11.8,那我们开始吧 一.…
#问题描述 在IDEA中写scala程序时,一些明显的语法错误不进行检查,没有像写Java时的红线什么的,当编译运行时,编译失败. https://blog.csdn.net/weizheng1000/article/details/53393910 #问题排查 1.IDEA开启了省电模式 根据网上的一些帖子来看,开启省电模式会造成这个现象,但是我的情况不是因为这个. 2.Scala语法检测被关闭 我就是这个原因造成的.在IDEA底栏右下角有个[]按钮,确保其处于小T状态.如图…
IDEA工具安装及scala基本操作 目录 一. 1. 2. 3. 4. 二. 1. 2. 3. 三. 1. 2. 3. 4. 5. 6. 7. 四. 1. (1) (2) (3) (4) (5) (6) (7) (8) 2. (1) (2)         for 循环 (3) (4) (5) 3. (1) (2) (3) (4) (5) 4. (1) (2) (3) 5. (1) (2) (3) (4) (5) 6. (1) (2) (3) (4) 7. 8. 9. (1) (2) (3)…
Effective Scala Marius Eriksen, Twitter Inc.marius@twitter.com (@marius)[translated by hongjiang(@hongjiang)] Table of Contents 序言 格式化: 空格, 命名, Imports, 花括号, 模式匹配, 注释 类型和泛型: 返回类型注解(annotation), 变型, 类型别名, 隐式转换 集合: 层级, 集合的使用, 风格, 性能, Java集合 并发: Future,…
引言 Scala是一门既面向对象,又面向过程的语言,Scala的函数式编程,就是Scala面向过程最好的佐证.也真是因此让Scala具备了Java所不具备的更强大的功能和特性. 而之所以Scala一直没有替代Java,一是因为Java诞生早,基于Java开发了大量知名的工程,并且最重要的是Java现在不只是一门编程语言,而是一个庞大的技术生态圈,所以未来十年内Scala也不会完全替代Java,但是Scala会在自己特有的领域大发光彩.   将函数赋值给变量 Scala中函数是一等公民,可以独立定…