scala
文章平均质量分 57
xiao_jun_0820
要自己每天都开心,不要烦恼
忘掉压力,天天好心情
展开
-
Scala新手指南中文版 -第五篇 The Option Type(Option类型)
Scala新手指南中文版 -第五篇 The Option Type(Option类型)博客分类: ScalaScalaFunctional Programming 译者注:原文出处http://danielwestheide.com/blog/2012/12/19/the-neophytes-guide-to-scala-part-5-the-optio转载 2015-02-25 19:02:17 · 2259 阅读 · 0 评论 -
shell执行scala脚本
新建一个helloworld.sh如下:#!/bin/shexec scala "$0" "$@"!#case class Person(name:String)object HelloWorld { def main(args:Array[String]){ require(args.length==1) val al = Per原创 2015-03-26 17:37:11 · 9343 阅读 · 0 评论 -
scala的交互式图表工具wisp
项目地址:https://github.com/quantifind/wisp安装好sbt,然后将wisp项目下载到本地,然后cd到wisp项目根目录,比如我的是(cd D:\spark\wisp),然后执行sbt "project wisp" console,编译成功后,会进入sbt 控制台。然后就可以开始编写代码了:首先第一步都是要导入:import com.quantifind.原创 2016-05-31 16:38:43 · 1326 阅读 · 0 评论 -
scala akka wordcount程序
Message.scala:package com.hupu.dace.messagessealed case class Result()sealed case class WordCount(word: String, count: Int)sealed case class MapData(data: List[WordCount])sealed case class R原创 2015-10-12 17:32:31 · 1667 阅读 · 1 评论 -
用for来实现map,filter,flatMap功能
/** * Created by xiaojun on 2015/10/9. */object ForInAction { def main(args: Array[String]) { def map[A, B](list: List[A], f: (A) => B): List[B] = { for (x <- list) yield f(x) }原创 2015-10-09 17:31:53 · 880 阅读 · 0 评论 -
scala 两种方法实现单词计数
val lines = List("hello world", "hello spark") val wordlist = lines.flatMap(line => line.split(" ")).map(word => (word, 1)) //方法一:先groupBy再map wordlist.groupBy(_._1).map { case (word原创 2015-10-22 11:39:52 · 8536 阅读 · 0 评论 -
scala implicit代码最佳实践
import java.io.Fileimport scala.io.Source/** * Created by xiaojun on 2015/10/8. */class RicherFile(file: File) { def read = Source.fromFile(file).getLines().mkString}class File_Implicit(p原创 2015-10-08 10:17:26 · 708 阅读 · 0 评论 -
scala 解析json字符串
scala中自带了一个scala.util.parsing.json.JSON然后可以通过JSON.parseFull(jsonString:String)来解析一个json字符串,如果解析成功的话则返回一个Some(map: Map[String, Any]),如果解析失败的话返回None。所以我们可以通过模式匹配来处理解析结果: val str2 = "{\"et\"原创 2015-07-16 14:39:45 · 40810 阅读 · 0 评论 -
让并发和容错更容易:Akka示例教程
让并发和容错更容易:Akka示例教程发布时间: 2014-12-18 10:14:59 Akka用Scala语言写成,为开发高并发、分布式和容错式应用提供了便利,对开发者隐藏了很大程度的复杂性。把Akka用好肯定需要了解比这个教程更多的内容,但是希望这里的介绍和示例能够引起你的注意并继续了解Akka。 写并发程序很难。程序员不得不处理线程、锁和竞态条件等等,这个过程很转载 2015-04-22 10:19:12 · 1090 阅读 · 0 评论 -
scala中用implicit实现依赖注入
import scala.collection.mutable/** * Created by xiaojun on 2015/2/17. */object ScalaDemo extends App { case class User(userId: Int, userName: String) class UserDao { var users = mutab原创 2015-02-27 14:36:25 · 3070 阅读 · 0 评论 -
scala通过实现trait Ordered[T]定义一个可排序的类
编写一个类,可按照人名排序,先按lastName排序,再按firstName排序,继承Orderedclass Person(val firstName: String, val lastName: String) extends Ordered[Person] { override def compare(that: Person): Int = { val lastNameCo原创 2015-02-27 18:38:45 · 1994 阅读 · 0 评论 -
scala implicit隐式转换
object ScalaDemo extends App { case class Water(temp: Int) case class Ice(temp: Int) implicit def waterToIce(water: Water): Ice = Ice(water.temp) def getTemp(ice: Ice) = ice.temp val w原创 2015-02-27 11:25:28 · 786 阅读 · 0 评论 -
scala设计模式
本文展示了一些经典的软件设计模式在Scala中的实现。 所谓设计模式,就是针对在软件设计过程中出现的一些共性问题,从而产生的一种可重用的解决方案。设计模式不是已完成的代码,而更像是一个可以在不同场景下解决问题的通用模板。 模式是由一些设计的最佳实践组成的,可以帮助我们避免一些问题,并且能增加代码的可读性,及加快开发进度。 经典的设计模式(转载 2015-02-28 17:42:45 · 2019 阅读 · 0 评论 -
Scala新手指南中文版 - 第四篇 Pattern Matching Anonymous Functions(模式匹配匿名函数)
Scala新手指南中文版 - 第四篇 Pattern Matching Anonymous Functions(模式匹配匿名函数)博客分类: ScalaScalaFunctional Programming译者注:原文出处http://danielwestheide.com/blog/2012/12/12/the-neophytes-guide-to-s转载 2015-02-25 18:03:34 · 1237 阅读 · 0 评论 -
scala 借贷模式(loan pattern)通用实现
import scala.language.reflectiveCallsimport util.control.Exception._import scala.concurrent.{ ExecutionContext, Future }object LoanPattern extends LoanPattern/** * Loan pattern implementation原创 2016-07-19 14:38:20 · 1033 阅读 · 0 评论