小编Bru*_*uno的帖子

在Scala中指定HashMap的大小

我正在使用Scala的可变HashMap来逐步增加数百万个键值对.调整这些HashMaps的大小现在是我程序中最慢的部分.我如何告诉Scala从一开始就创建一个非常大的HashMap,以便它(几乎)永远不需要调整大小?

我也很感激提出另一个符合我需求的Scala/Java集合的想法.添加新的键值对并检索给定键的值应该在大致恒定的时间内都可行.

scala hashmap

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

如何在Scala中创建带有有界类型参数的自定义Seq?

考虑以下工作习惯Seq:

class MySeq[B](val s: Seq[B]) 
extends Seq[B]
with GenericTraversableTemplate[B, MySeq]
with SeqLike[B, MySeq[B]] {
  override def companion = MySeq

  def iterator = s.iterator

  def apply(i: Int) = s(i)

  def length = s.length

  override def toString = s map { _.toString } mkString("\n")
}
object MySeq extends SeqFactory[MySeq] {
  implicit def canBuildFrom[B]: CanBuildFrom[Coll, B, MySeq[B]] =
       new GenericCanBuildFrom[B]
  def newBuilder[B] = new ListBuffer[B] mapResult (x => new MySeq(x.toSeq))
}
Run Code Online (Sandbox Code Playgroud)

我想对type参数强加一个绑定B.换句话说,我想要这样的东西(不工作):

class MyA

class MySeq[+B <: MyA](val s: …
Run Code Online (Sandbox Code Playgroud)

collections types factory scala

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

是否可以实施检查 HintDb 的 Coq 策略?如果是这样,如何?

例如,我想要一种策略来遍历给定 HintDb 中的所有解析提示h,并且对于每个解析提示,它会执行pose h.. 这可能吗?如果是这样,如何?

coq coq-tactic ltac

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

我如何实现迭代假设的 coq 策略?

作为我的一般问题的最小示例,假设我们有以下内容:

Parameter C: Prop.

Definition blah := C.
Run Code Online (Sandbox Code Playgroud)

我想实施一种策略,该策略会blah在目标的所有假设中自动展开。

我试过这个:

Ltac my_auto_unfold := repeat match goal with 
  | [ H: ?P |- ?P ] => unfold blah in H
end.


Theorem g: blah -> blah -> blah.
Proof.
intros.
my_auto_unfold.
Run Code Online (Sandbox Code Playgroud)

但只有一个假设已经blah展开。

coq coq-tactic ltac

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

标签 统计

coq ×2

coq-tactic ×2

ltac ×2

scala ×2

collections ×1

factory ×1

hashmap ×1

types ×1