scala
haoran_gao
这个作者很懒,什么都没留下…
展开
-
神奇的_scala
刚开始学习scala,就被它的难住了。下面我们看看scala中的用法1. 模式匹配在scala中,模式匹配有点类似于java中的switch语句。def matchTest(x: Int): String = x match { case 1 => "one" case 2 => "two" case _ => "anything other than one and two翻译 2015-12-28 18:40:40 · 247 阅读 · 0 评论 -
play模板twirl
twirl是play默认的模板引擎,用Scala编写。模板会被编译成Scala函数, 如果你创建了一个模板文件 views/Application/index.scala.html,它会生成一个类views.html.Application.index并且这个类有一个 apply() 方法.模板就像一个函数,所以它可以传参数,参数必须定义在模板文件的最上方。@(title: String)(cont原创 2016-03-31 17:41:05 · 2028 阅读 · 0 评论 -
play! guice DI
http://www.cnblogs.com/xd502djj/archive/2012/06/25/2561414.html http://www.cnblogs.com/xingyukun/archive/2007/10/20/931331.html http://blog.m1key.me/2012/04/scala-guice-gradle-integration-tests.html原创 2016-03-23 16:02:49 · 287 阅读 · 0 评论 -
Play framework REST API
在PLay中怎么写REST API呢,文档里没有说明。在Play中处处都是REST API。就像冰箱是一个工具,它可以冷冻食物。假如你买了一个冰箱,你能找到一页纸说明怎么冷冻食物吗?答案基本是否定的,冰箱的手册会介绍安装,调节温度…。为什么没有说明呢,是因为这是冰箱的一个基本功能。Play也是如此,要了解怎么在play中写REST API,那就阅读它的文档吧。OUR EXPERIENCE WITH原创 2016-04-07 13:38:25 · 2321 阅读 · 0 评论 -
play framework authentification
http://iankent.uk/blog/action-composition-in-play-framework/转载 2016-04-07 15:01:56 · 278 阅读 · 0 评论 -
scala中的method和function的区别
狭义上:方法(Method)是指在tail/class/object中的def关键字声明的,它不能被直接传递。函数(Function)是指类型ParamsType=>ResultType的变量,这些变量背后是用FunctionN对象来封装的,可以被传递。方法可以转换为函数广义上:抛开背后的实现,方法就是函数;编译器某些场景下会自动把方法封装为一个函数对象来传递。scala社区并不特别区分这两个名词。转载 2016-04-07 15:27:21 · 469 阅读 · 0 评论 -
Play! 学习日记一
Play framework是一个web开发框架,相对其它的web框架比较小众, 我学习play主要是为了通过它学习scala语言。所以这一系列日记的编程语言是scala. scala语言除了支持面向编程,还支持函数式编程。语法简洁。Play基于Akka(一个异步消息模型,可以避免普通多线程设计由于同步或互锁而造成死锁)本教程使用idea作为开发ide。下面介绍windows下play的环境搭建:原创 2016-03-26 23:28:54 · 326 阅读 · 0 评论 -
Understanding Play2 Iteratees for Normal Humans
You may have remarked that Play2 provides an intriguing feature called Iteratee (and its counterparts Enumerator and Enumeratee). The main aim of this article is (to try) to make the Iteratee concept转载 2016-04-08 17:08:06 · 435 阅读 · 0 评论 -
play SMTP Configuratoin
Use a mock mailer, by entering the following in conf/application.confsmtp.mock=true The mock option will render email output to the console. If you are using the Activator UI, you’ll be able to see th转载 2016-04-25 15:25:25 · 604 阅读 · 0 评论 -
play silhoutte
https://blog.knoldus.com/2015/05/11/play-framework-security-with-silhouette/ http://blog.csdn.net/i6448038/article/details/49739081原创 2016-04-13 15:43:22 · 306 阅读 · 0 评论 -
scala笔记
http://blog.csdn.net/lyrebing/article/details/20446061原创 2016-04-14 10:07:37 · 303 阅读 · 0 评论 -
Future的使用
通常有两种方式获得Actor的回复消息: 第一种,如果原始的发送者是一个Actor,可以通过(actor ! msg)得到消息,第二种就是通过Future。使用Ator的?方法会发送一个消息并返回一个Future import scala.concurrent._ implicit val system = ActorSystem("FutureSystem") val future = F原创 2016-03-31 15:19:50 · 404 阅读 · 0 评论 -
play的Json测试
上代码import play.api.libs.json.{Json, JsValue, Writes}/** * Created by DGA on 2016/3/31. */case class Bar(x:String,y:Int) {}object Bar{ implicit val implicitBarWrites = new Writes[Bar]{ overrid原创 2016-03-31 13:42:21 · 390 阅读 · 0 评论 -
scala参数传递
在编程语言中,参数传递有多种方式,比如c++中的传递地址和传递数值。在scala中多了一种名称传递Call-by-Name: => Type名称传递表示传递的参数名称会替代函数中的参数名称。 我们举个例子def f(x: => Int) = x * x=>int表示一个代码块,最终返回Int通过以下代码调用函数fvar y = 0f { y += 1; y }{ y += 1; y }会替代x原创 2016-01-25 18:25:30 · 2686 阅读 · 0 评论 -
scala _的用法
The ones I can think of are Existential typesdef foo(l: List[Option[_]]) = …Higher kinded type parameterscase class A[K[_],T](a: K[T])Ignored variablesval _ = 5Ignored parametersList(1, 2, 3) foreach转载 2015-12-28 18:46:20 · 736 阅读 · 0 评论 -
scala编码规范
格式与命名语法特性编码风格高效编码编码模式测试格式与命名1) 代码格式 用两个空格缩进。避免每行长度超过100列。在两个方法、类、对象定义之间使用一个空白行。2) 优先考虑使用val,而非var。3) 当引入多个包时,使用花括号:import jxl.write.{WritableCell, Number, Label}当引入的包超过6个时,应使用通配符_:import org.sca原创 2016-01-26 10:23:15 · 3148 阅读 · 0 评论 -
fibonacci的几种实现
scala递归实现1def fib(n: Int): Int = { @annotation.tailrec def loop(n: Int, prev: Int, cur: Int): Int = if (n == 0) prev else loop(n - 1, cur, prev + cur) loop(n, 0, 1)}scala递归实现2def fibona原创 2016-02-01 14:12:43 · 305 阅读 · 0 评论 -
scala伴生对象companion object
伴生对象在读scala代码时,经常会看到object声明的对象, 它与class有什么不同呢? class是一种定义和描述, 它定义了一些方法以及和其它类型的组合。 object可以看做一个单例singlenton,它是一个类的实例, 确保唯一性。声明一个object, 一个匿名类就会被创建。伴生对象和类的关系如果伴生对象的名字和类名相同, 这时, 伴生对象和类都可以获取对方的方法class X原创 2016-02-01 10:41:58 · 979 阅读 · 1 评论 -
binarySearch() in Scala
def binarySearch[A](as:Array[A], key:A, gt:(A,A) =>Boolean) :Int ={ @annotation.tailrec def go(low: Int, mid:Int, high:Int): Int ={ if(low > high) -mid-1 else{ val m原创 2016-02-02 14:14:02 · 617 阅读 · 0 评论 -
curry in scala
/** * Created by DGA on 2016/2/2. */// 定义一个trait包含了curry和uncurry方法trait Given { def curry[A,B,C](f:(A,B) => C) : A => B => C def uncurry[A,B,C](f:A => B => C): (A,B) => C}object Impl extends G原创 2016-02-03 10:23:51 · 332 阅读 · 0 评论 -
scala 集合
http://blog.csdn.net/lyrebing/article/details/19983979 Scala学习笔记2 (Lang下篇) http://blog.csdn.net/pzw_0612/article/details/45936165 Scala 强大的集合数据操作示例转载 2016-02-03 12:08:24 · 256 阅读 · 0 评论 -
sbt的源配置
activator中采用sbt构建项目结构。 可以编辑activator-launch-1.3.7.jar更改sbt的配置[repositories] local activator-launcher-local: file://${activator.local.repository-${activator.home-${user.home}/.activator}/repositor原创 2016-03-17 06:51:03 · 2745 阅读 · 0 评论 -
play framework tutorial 1
创建一个项目console方式 activator new idea方式 new activator创建一个简单的service,注入到controller中package services;trait GreetingService { def greeting(): String}实现类package services;class RealGreetingService exte原创 2016-03-18 17:45:28 · 359 阅读 · 0 评论 -
play framework
1 https://www.lightbend.com/activator/docs https://www.playframework.com/documentation/2.2.x/Production https://scalaplayschool.wordpress.com/2014/08/17/lesson-7-scala-play-forms-bootstrap/ http://b原创 2016-03-10 15:34:34 · 620 阅读 · 0 评论