小编Rog*_*ach的帖子

如何将.png绘图发送到gnuplot中的stdout?

目前,我做了类似以下的事情:

set term png
set output 'file.png'
Run Code Online (Sandbox Code Playgroud)

但是脚本中的硬编码文件是非常不灵活的.有没有办法告诉gnuplot输出图像文件到stdout,所以我可以在需要的地方重定向它的输出?

bash gnuplot

9
推荐指数
1
解决办法
2869
查看次数

如何在嵌入式Jetty中启动Lift?

我有一个服务器,它将作为其职责的一部分提供一些Web内容.它使用嵌入式Jetty,我想为它添加一些Lift的美感(模板,演员等).

问题是所有电梯示例都使用Jetty作为容器.有没有办法在我的嵌入式Jetty中启动Lift?如果是,怎么样?

scala jetty lift embedded-jetty

8
推荐指数
1
解决办法
1206
查看次数

链接scaladoc的来源?

我需要从我的scaladoc链接到github上的源代码.我用sbt的doc任务构建那些文档.

有两个问题 - 首先,我不喜欢为我的.scala文件创建几个嵌套的空目录,所以我通常将它们全部打包在一起 - src/main/scala/org.rogach.scallop而不是src/main/scala/org/rogach/scallop.有没有办法让文档链接工作而不拆分该目录?

其次,当我把这行放在build.sbt中时:

scalacOptions in (Compile, doc) ++=
  Opts.doc.sourceUrl("https://raw.github.com/Rogach/scallop/master/src/main/scala/")
Run Code Online (Sandbox Code Playgroud)

docs包含指向源的链接,但所有这些链接只指向源根URL,而不是文件本身.我究竟做错了什么?

scala sbt

8
推荐指数
1
解决办法
990
查看次数

有没有办法在scala中创建无点dsl,在变量之间有两个标识符?

有没有办法定义一个dsl,这将允许以下形式?

variable identifier identifier variable
Run Code Online (Sandbox Code Playgroud)

例如:

1 equals to 2
Run Code Online (Sandbox Code Playgroud)

我知道如何创建一个更简单的形式:1 equals to (2)但我想避免使用括号.有办法吗?

scala

8
推荐指数
1
解决办法
261
查看次数

是否可以在scala 2.10中使用一次宏调用生成几个顶级类?

我有一个带有大量样板的程序(遗憾的是,即使是Scala机制也不能简化).但是如果有一种方法可以用宏生成复杂的顶级类,那么所有的样板都将消失.例如:

package org.smth

generate(params)

// becomes

class A { ... }
object B { ... }
case class C { ... }
Run Code Online (Sandbox Code Playgroud)

Scala 2.10宏可以实现吗?

macros scala scala-2.10

8
推荐指数
1
解决办法
450
查看次数

为什么apply()不能在包对象上以简写形式使用?

在普通对象上,我可以执行以下操作:

object A {
  def apply = "!"
}
A() // "!"
Run Code Online (Sandbox Code Playgroud)

但是在包对象上,这不起作用:

package object A {
  def apply = "?"
}
A.apply // "?"
A() // compile error
    // error: package A is not a value
Run Code Online (Sandbox Code Playgroud)

有一些基本的限制吗?或者它只是一个实现限制,我可以通过稍微调整编译器来解决这个问题?

scala

8
推荐指数
1
解决办法
196
查看次数

有没有办法在scala 2.10中获得运行时编译错误的正确报告?

在scala 2.9.x中,我tools.nsc.Global直接将某些字符串编译成一个类并执行它.

在scala 2.10中,可以用以下内容替换它:

import scala.reflect.runtime._;
val cm = universe.runtimeMirror(getClass.getClassLoader)
import scala.tools.reflect.ToolBox;
val tb = cm.mkToolBox()
tb.eval(tb.parse("class C; new C"))
Run Code Online (Sandbox Code Playgroud)

它完美无瑕.唯一的问题是,使用旧的(不推荐的)方法,我可以使用StoreReporter(带有错误消息,行号)获得所有编译失败的非常漂亮的摘要,并且新方法只会在编译错误时引发异常.

有什么方法可以实现这一点吗?

reflection scala toolbox scala-2.10

8
推荐指数
1
解决办法
746
查看次数

如何在Slick中进行聚合查询?

例如,我有以下表定义:

object Houses extends Table[Long]("Houses") {
  def id = column[Long]("id")
  def * = id
}
object Rooms extends Table[(Long, Long)]("Rooms") {
  def id = column[Long]("id")
  def houseId = column[Long]("houseId")
  def size = column[Int]("size")
  def * = id ~ houseId ~ size
}
Run Code Online (Sandbox Code Playgroud)

我想为每个房子选择最大的房间.

我想出了以下技巧:

val query = {
  (r1, r2) <- Rooms leftJoin Rooms on ((r1,r2) =>
    r1.houseId === r2.houseId && r1.size > r2.size
  )
  if r2.id.isNull
} yield r1
Run Code Online (Sandbox Code Playgroud)

它做我需要的,但是丑陋,完全不可读,似乎伤害了性能.我试图groupBy在查询上使用,但似乎我误解了一些核心概念 - 我无法得到正确的类型.

有没有更好的方法在Slick中进行这样的聚合查询?

scala scala-2.10 slick

8
推荐指数
1
解决办法
1987
查看次数

为什么MongoDB没有交易?

据我所知,MongoDB不支持交易,也没有实施此类支持的计划.这是什么原因?

transactions mongodb

8
推荐指数
1
解决办法
2509
查看次数

在列表中使用.view时出现奇怪的异常

我有很多数字.我需要对它们应用一些操作,然后只获取满足某些条件的结果.列表是顺序的,所以一旦我找到不满足条件的数字,我就可以停止查找.

我想避免做太多的计算,所以我在这个例子中继续前进:

List(1,2,3,4,5).view.map(2 *).takeWhile(_ < 8)
Run Code Online (Sandbox Code Playgroud)

但它给了我一个例外:

java.lang.UnsupportedOperationException: SeqViewM(...).newBuilder
at scala.collection.TraversableViewLike$class.newBuilder(TraversableViewLike.scala:69)
at scala.collection.SeqViewLike$$anon$3.newBuilder(SeqViewLike.scala:77)
at scala.collection.IterableLike$class.takeWhile(IterableLike.scala:139)
at scala.collection.SeqViewLike$$anon$3.takeWhile(SeqViewLike.scala:77)
at scala.collection.SeqViewLike$$anon$3.takeWhile(SeqViewLike.scala:77)
Run Code Online (Sandbox Code Playgroud)

使用Scala 2.9.0.1(与2.9.1相同的行为).这有什么不对?

scala unsupportedoperation

7
推荐指数
1
解决办法
104
查看次数