Tag: scala

如何使用JodaTime获取特定月份的最后date?

我需要得到一个月的最后一个date(如org.joda.time.LocalDate )。 获得第一个是微不足道的,但最后似乎需要一些逻辑,因为月份长度不同,二月份的长度甚至会随着年份的变化而变化。 有没有一种机制已经内置到JodaTime中,还是我应该自己实现?

在Scala中初始化数组

我是Scala的新手,刚开始学习它,我想知道如何在Scala中初始化一个数组。 示例Java代码 String[] arr = { "Hello", "World" }; 在Scala中上面的代码是什么?

数组和List之间的区别在Scala中

在什么情况下,我应该使用数组(缓冲区)和列表(缓冲区)。 我所知道的只有一个区别是数组是非variables的,列表是协变的。 但是性能和其他一些特性呢?

Rest API服务器的Scala框架?

我们正在考虑将Rest API服务器(它位于Web服务中,在Symfony PHP中)移到Scala,原因有几个:速度,没有开销,CPUless,代码less,可伸缩性等等。但是我一直在享受我最近在Scala书以及所有博客文章和问题中学到的东西(这不是太难看!) 我有以下select: 从头开始构buildRest API服务器 使用像Scalatra这样的小型Scala Web框架 使用电梯 有些东西,我将不得不使用:HTTP请求,JSON输出,MySQL(数据),OAuth,Memcache(caching),日志,file upload,统计(也许Redis)。 你会推荐什么?

如何在Scala中剖析方法?

什么是分析Scala方法调用的标准方法? 我需要的是一个方法钩,我可以用它来启动和停止计时器。 在Java中,我使用方面编程aspectJ来定义要分析的方法,并注入字节码以实现相同。 在Scala中有没有更自然的方法,我可以在函数前后定义一堆函数,而不会在程序中丢失任何静态types?

了解“types”关键字在Scala中的作用

我是新来的Scala,我真的不能find关于type关键字的很多。 我想了解下面的expression可能意味着什么: type FunctorType = (LocalDate, HolidayCalendar, Int, Boolean) => LocalDate FunctorType是某种别名,但它表示什么?

Scalatypes的编程资源

根据这个问题 ,Scala的types系统是图灵完整的 。 有哪些资源可以使新手充分利用types编程的力量? 以下是我迄今为止发现的资源: 丹尼尔Spiewak 在斯卡拉土地高巫术 Apocalisp 在Scala中的types级编程 Jesper的HList 这些资源非常棒,但我觉得我错过了基础知识,所以没有坚实的基础来构build。 例如,哪里有对types定义的介绍? 我可以在types上执行哪些操作? 有没有什么好的入门资源?

Scala的构造函数参数默认为私有的val?

我已经试了: class Foo(bar: Int) VS: class Foo(private val bar: Int) 他们似乎performance一样,虽然我找不到任何地方说(bar: Int)扩大(private val bar: Int)所以我的问题是,这些相同/相似? 在一个侧面说明中,我一直试图在这些代码片段上使用-Xprint:typer并且除了第二个代码块外,它们会产生相同的代码。 我如何阅读额外的行? .. class Foo extends scala.AnyRef { <paramaccessor> private[this] val bar: Int = _; def <init>(bar: Int): this.Foo = { Foo.super.<init>(); () } } .. .. class Foo extends scala.AnyRef { <paramaccessor> private[this] val bar: Int = _; <stable> […]

比较sbt和Gradle

我正在潜入Scala并注意到了sbt。 我在java / groovy项目中对Gradle很满意,我知道Gradle有一个scala插件。 在Scala项目中赞成Gradle的原因是什么?

为什么Scala编译器不允许使用默认参数的重载方法?

虽然可能有这种方法重载可能会变得模糊的有效情况,但是为什么编译器不允许在编译时和运行时都不明确的代码呢? 例: // This fails: def foo(a: String)(b: Int = 42) = a + b def foo(a: Int) (b: Int = 42) = a + b // This fails, too. Even if there is no position in the argument list, // where the types are the same. def foo(a: Int) (b: Int = 42) = […]