无分类 scala学习隐式转换与隐式参数 隐式转换和隐式参数 Scala总共有三个地方会使用隐式定义: 转换到一个预期的类型 对某个(成员)选择接收端(字段、方法调用等)的转换 隐式参数 隐式规则 标记规则:只有标记为implicit的定义才可用。可标记任何变量、函数、对象 作用域规则:被插入的隐式转换必须是当前作用域的单个标识符,或者跟隐式转换的源类型或…
无分类 Spark框架Win10系统下搭建Scala开发环境 一、Scala环境基础 Scala对Java相关的类,接口进行了包装,所以依赖Jvm环境。 {代码…} 二、配置Scala解压版 1)注意路径无空格和中文 2)配置环境变量 添加到path目录 {代码…} 3)检测是否安装 配置成功,没错就是这么简单。 三、配置Idea开发 1)插件安装,就是点点点 2)新建两个maven项目在scala-base-hello 的 m…
无分类 scala学习特质Trait 特质 Trait Trait可堆叠特性 可自由组合你的算法,非常灵活。越靠后的特质越先执行。 特质使用的线性化解读super {代码…} 要特质还是不要? 如果某个行为不会被复用用具体的类 如果某个行为可能被用于多个互不相关的类用特质,只有特质才能被混入类继承关系中位于不同组成部分的类 如果想从Java代码中继承某个行为用抽…
无分类 scala学习模式匹配 模式匹配 常量模式 {代码…} 变量模式 {代码…} 序列模式 {代码…} 元组模式 {代码…} 带类型模式 {代码…} 变量守卫 {代码…} 密封类 担心漏掉某些可能case的模式匹配编译警告:missing combination Int2 {代码…} Option类型 {代码…} 到处都是模式 {代码…}
无分类 scala学习控制抽象 控制抽象 减少重复代码 重复代码 这是一开始最可能写出来的代码,代码很简单,就是文件名的过滤功能。 {代码…} 将逻辑抽象出来 定义个filesMatching方法,将逻辑抽象,现在看着就舒服多了。 但还不够完美。 {代码…} 去掉不必要参数 在逻辑方法中,去掉参数,这样就更清爽了。 {代码…} 借贷模式 假设你需要打开一个…