小编Pen*_*gin的帖子

如何包装Java枚举并仍然迭代它?

我怎么能有一个抽象枚举,或某种基本枚举?

在我的通用代码中,我想要一个枚举占位符MyRetems的概念,而不是将自己与具体的枚举联系起来.然后在我的每个项目中,我都会有一个具体的实现.

例如共同代码

public interface MyItems {
    // Marker interface
}
Run Code Online (Sandbox Code Playgroud)

项目A.

public enum Items implements MyItems {
     RED_CAR, BLUE_CAR, GREEN_CAR;
}
Run Code Online (Sandbox Code Playgroud)

项目B.

public enum Items implements MyItems {
    BROWN_TREE, GREEN_TREE;
}
Run Code Online (Sandbox Code Playgroud)

这似乎有效,但在我的公共代码中,我不能在我的接口枚举上写一个循环,因为它不是枚举.在我的常用代码中,我想写

for (MyItems item : MyItems.values())
    doSomething(item);
Run Code Online (Sandbox Code Playgroud)

但我不能,因为我的界面只是一个标记界面,它没有.values().

任何建议都非常感谢.我不知道我是否完全以错误的方式尝试.

java enums

3
推荐指数
1
解决办法
3359
查看次数

使用Scala剪切大型CSV文件

在Scala 2.8中执行文件IO的最佳方法是什么?

我想要做的就是将一个巨大的CSV文件剪切成许多较小的文件,每个文件有1000行数据,每个文件保留标题.

csv file-io scala scala-2.8

3
推荐指数
1
解决办法
832
查看次数

在Ubuntu Lucid中从二进制文件安装R包

我用命令在Ubuntu Lucid中安装了R.

sudo aptitude安装r-base

当我尝试"install.packages"时,它似乎下载了源代码,然后用了很长时间来编译它.我怎样才能下载并安装二进制文件,就像我以前在Windows上一样?

有没有必要自己编译包?我在VM内部运行,因此尽可能保持简洁.

谢谢

ubuntu r cran

3
推荐指数
1
解决办法
1299
查看次数

使用"_"的Scala功能图

为什么(在Scala REPL中)我可以写,例如,

def double(d: Int) = 2*d
(0 until 10).zipWithIndex.map(i => double(i._1))
Run Code Online (Sandbox Code Playgroud)

要不就

(0 until 10).zipWithIndex.map(_._1)
Run Code Online (Sandbox Code Playgroud)

但我不能写

(0 until 10).zipWithIndex.map(double(_._1))
Run Code Online (Sandbox Code Playgroud)
error: missing parameter type for expanded function ((x$1) => x$1._1) (0 until 10).zipWithIndex.map(double(_._1))
Run Code Online (Sandbox Code Playgroud)

scala

2
推荐指数
1
解决办法
604
查看次数

List.collect上的匹配错误

第二次实施有什么问题?

作品:

scala> List(1,2,3).collect{ case i: Int if i % 2 == 0 => i }
res1: List[Int] = List(2)
Run Code Online (Sandbox Code Playgroud)

不:

scala> val evens = PartialFunction[Any, Int]{
     | case i: Int if i % 2 == 0 => i
     | }
evens: PartialFunction[Any,Int] = <function1>

scala> List(1,2,3).collect{evens}
scala.MatchError: 1 (of class java.lang.Integer)
    at $anonfun$1.apply(<console>:7)
    at $anonfun$1.apply(<console>:7)
    at scala.PartialFunction$$anonfun$apply$1.applyOrElse(PartialFunction.scala:242)
    at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:33)
    at scala.collection.TraversableLike$$anonfun$collect$1.apply(TraversableLike.scala:278)
    at scala.collection.immutable.List.foreach(List.scala:318)
    ...
Run Code Online (Sandbox Code Playgroud)

scala

2
推荐指数
1
解决办法
478
查看次数

geom_density 与 alpha 向量

我想用 绘制几个分布geom_density,并且除了其中之一之外的所有分布都淡出。我该怎么做,因为以下内容不会alpha按预期改变。

require("ggplot2")

data = rbind(
  data.frame(generation=1, samples=rnorm(90)),
  data.frame(generation=2, samples=rnorm(100)),
  data.frame(generation=3, samples=rnorm(110)),
  data.frame(generation=4, samples=rnorm(120)),
  data.frame(generation=5, samples=rnorm(130)),
  data.frame(generation=6, samples=rnorm(140))
)

maxGen = max(data$generation)

ggplot(data) + 
  geom_density(
    aes(
      colour= factor(generation), 
      x=samples,
      alpha=ifelse(data$generation == maxGen, 0.3, 1.0)
    )
  )
Run Code Online (Sandbox Code Playgroud)

如果它有所作为,真实的东西会在另一个变量上添加一个方面包装。

r ggplot2

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

标签 统计

scala ×3

r ×2

cran ×1

csv ×1

enums ×1

file-io ×1

ggplot2 ×1

java ×1

scala-2.8 ×1

ubuntu ×1