Tag: scala

LINQ类似于斯卡拉?

是否有任何理智的类似于LINQ(.NET)的Scala存在?

确定并描述Scala的genericstypes约束

我见过“<:”和“>:”和“<%”等,有人可以给(或定位)一个很好的描述这些? 什么是可能的限制,他们做什么,什么时候使用它们的例子?

如何在Scala中取消未来?

Java Future有cancel方法,它可以中断运行Future任务的线程。 例如,如果我在Java Future封装一个可中断的阻塞调用,我可以稍后中断它。 Scala Future未提供cancel方法。 假设我在Scala Future封装了一个可中断的阻塞调用。 我怎么能打断它?

斯卡拉捕获组使用正则expression式

比方说,我有这个代码: val string = "one493two483three" val pattern = """two(\d+)three""".r pattern.findAllIn(string).foreach(println) 我预计findAllIn只返回483 ,而是返回两个483 two483three 。 我知道我可以使用unapply来只提取部分,但我必须有一个整个string的模式,像这样: val pattern = """one.*two(\d+)three""".r val pattern(aMatch) = string println(aMatch) // prints 483 有没有其他的方式来实现这一点,而不直接使用java.util的类,而不使用unapply?

在Scala的case类中的hashCode

我读过Scala'a case class构造自动生成一个拟合equals和hashCode实现。 生成的代码是什么样的?

斯卡拉:我怎样才能sorting元组数组的第二个元素?

有没有一种方法在Scala中使用和任意比较函数对元组进行sorting? 特别是我需要通过第二个元素对元组进行sorting和排列,但是我想知道一个通​​用的技术来对元组进行sorting。 谢谢!

框架比较:电梯,游戏和检票

Lift,Play和Wicket框架的优点和缺点是什么? 哪些特征是最好的或者只有每个特征都支持? 谢谢

-Ywarn-unused-import触发播放路由文件

我希望能够使用-Xfatal-warnings和-Ywarn-unused-import ,问题是编译器在包含我的应用程序的播放path的文件上触发错误: [error] /path/to/app/conf/routes: Unused import [error] /path/to/app/conf/routes: Unused import [error] /path/to/app/conf/routes:1: Unused import [error] GET /document/:id my.app.controllers.MyController.getById(id: Int) 其他路线也一样。 是否有可能告诉scalac忽略文件? 斯卡拉版本是2.11.8 。

在Eclipse中查看Scaladoc

在Eclipse中 ,我将Scala项目的Javadoc Location属性设置为file:/D:/EclipseWorkspace/MyProject/target/scala-2.9.1/api其中D:/EclipseWorkspace/MyProject是我的Scala项目的位置。 现在,如果我在一个实现类/特征的Scala文件中,当我键入Shift + F2时 ,Eclipse将打开该类/特征的Scaladoc页面。 但是,如果它是一个对象,这不起作用,因为Eclipse试图打开<ObjectName>.html而Scaladoc生成的文件名是<ObjectName>$.html 。 有没有解决办法?

相当于Python生成器的Scala?

是否有可能在Scala中实现等价于Python yield语句的地方,它记住函数的本地状态,并在每次调用时产生下一个值? 我想有这样的东西把一个recursion函数转换成一个迭代器。 有点像这样: # this is python def foo(i): yield i if i > 0: for j in foo(i – 1): yield j for i in foo(5): print i 除此之外, foo可能会更复杂,并且通过一些非循环对象图来重复出现。 其他编辑:让我添加一个更复杂的例子(但仍然很简单):我可以写一个简单的recursion函数, // this is Scala def printClass(clazz:Class[_], indent:String=""): Unit = { clazz match { case null => case _ => println(indent + clazz) […]