scala的Range

在scala中,Range代表的是一段整数的范围,官方有关range的api:

http://www.scala-lang.org/api/current/index.html#scala.collection.immutable.Range

var r = 1 to 10;//赋值1到10的整数  
var r = 1.to(10);
for(i <- 0 to 10);
for(i <- 0 until 10);
var r = Range(1,10);
var r = Range(1,10,2);//1到10的整数,步长为2,步长不能为0,默认步长为1

这些底层其实都是Range,Range(1,10,2):1是初始值,10是条件,2是步长,步长也可以为负值,递减。

until和Range是左闭右开,1是包含的,10是不包含。而to是左右都包含。

参考:Scala循环语句

时间: 2024-10-19 13:43:36

scala的Range的相关文章

scala编程第16章学习笔记(4)——List对象的方法

通过元素创建列表:List.apply List(1, 2, 3) 等价于List.apply(1, 2, 3): scala> List.apply(1, 2, 3) res0: List[Int] = List(1, 2, 3) 创建数值范围:List.range List.range(from, until),可以创建从from开始到until减一的所有数值的列表.注:尾部until不在范围之内. 还有一个版本的range可以带step值作为第三参数.这个操作可以产生从from开始的,间隔

scala编程第16章学习笔记(3)——List类的高阶方法

列表间映射:map.flatMap和foreach 1.xs map f 操作返回把函数f应用在xs的每个列表元素之后由此组成的新列表.如: scala> List(1, 2, 3) map (_ + 1) res0: List[Int] = List(2, 3, 4) scala> val words = List("the", "quick", "brown", "fox") words: List[Strin

Scala - 03 - 基础语法

1- 变量 变量 mutable variable 在程序运行过程中其值可能发生改变的量 关键词var定义变量,定义时直接进行求值 常量 immutable variable 在程序运行过程中其值不会发生变化的量 在声明时就必须被初始化,而且一旦初始化后就不能再赋值: 关键词val定义常量,定义时直接进行求值: 关键词lazy val --- 惰性求值的常量,只有当该变量第一次被使用时才会被求值 常量不能修改.如果程序尝试修改常量的值,将会在编译时报错 变量类型引用 可以不显示指定变量的类型,S

scala集合与数据结构

1.数据结构特点 Scala同时支持可变集合和不可变集合,不可变集合从不可变,可以安全的并发访问. 两个主要的包: 不可变集合:scala.collection.immutable 可变集合: scala.collection.mutable Scala优先采用不可变集合,对于几乎所有的集合类,Scala都同时提供了可变和不可变的版本. 不可变集合继承层次: 可变集合继承层次: 2.数组 2.1.定义定长数组 我们可以定义一个固定长度大小和类型的定长数组 //定义一个数组长度为10,类型为Int

Scala 系列(六)—— 常用集合类型之 List &amp; Set

一.List字面量 List 是 Scala 中非常重要的一个数据结构,其与 Array(数组) 非常类似,但是 List 是不可变的,和 Java 中的 List 一样,其底层实现是链表. scala> val list = List("hadoop", "spark", "storm") list: List[String] = List(hadoop, spark, storm) // List 是不可变 scala> list

Spark3000门徒第9课IDEA中开发Spark实战总结

今晚听了王家林老师的第9课IDEA中开发Spark实战,课后作业是:在Idea中编写广告点击排名的程序并提交集群测试, IDEA社区版本就够用,Ultimate没必要还要钱 程序如下: object WordCountCluster { def main(args: Array[String]){ /** * 第一步:创建spark的配置对象SparkConf,设置Spark程序的运行时的配置信息 * */ val conf = new SparkConf() //创建SparkConf对象 c

Spark3000门徒第8课IDE中开发Spark实战总结

今晚听了王家林老师的第8课IDE中开发Spark实战,课后作业是:在Eclipse中编写广告点击排名的程序并测试,程序如下: object WordCountCluster { def main(args: Array[String]){ /** * 第一步:创建spark的配置对象SparkConf,设置Spark程序的运行时的配置信息 */ val conf = new SparkConf() //创建SparkConf对象 conf.setAppName("First App")

深度剖析Spark分布式执行原理

转载自:https://zhuanlan.zhihu.com/p/25772054 让代码分布式运行是所有分布式计算框架需要解决的最基本的问题. Spark是大数据领域中相当火热的计算框架,在大数据分析领域有一统江湖的趋势,网上对于Spark源码分析的文章有很多,但是介绍Spark如何处理代码分布式执行问题的资料少之又少,这也是我撰写文本的目的. Spark运行在JVM之上,任务的执行依赖序列化及类加载机制,因此本文会重点围绕这两个主题介绍Spark对代码分布式执行的处理.本文假设读者对Spar

【Scala】Scala之Numbers

一.前言 前面已经学习了Scala中的String,接着学习Scala的Numbers. 二.Numbers 在Scala中,所有的数字类型,如Byte,Char,Double,Float,Int,Long,Short都是对象,这七种数字类型继承AnyVal特质,这七种数字类型与其在Java中有相同的范围,而Unit和Boolean则被认为是非数字值类型,Boolean有false和true两个值,你可以获取到各个数字类型的最值. 复杂的数字和日期 如果需要更强大的数类,可以使用spire,sc