小编sbo*_*bos的帖子

用"for"实现C#类似的收益

我正在尝试使用各种Scala实现的C#类似的yield return(即这一个)和"for" - 这样的构造:

private def permutations[T](s: Vector[T]) = {
  def swap(i: Int, j: Int) {
    val tmp = s(i)
    s.set(i, s.get(j))
    s.set(j, tmp)
  }

  iterator[Vector[T]] {
    def generate(left: Int, right: Int): Unit @cps[Iteration[Vector[T]]] = {
      if (left >= right)
        yieldValue(s)

      else {
        generate(left, right)
        for (i <- left to right) {
          swap(left, i)
          generate(left+1, right)
          swap(left, i)
        }
      }
    }

    generate(0, s.size-1)
  } 
}
Run Code Online (Sandbox Code Playgroud)

但是这段代码编译错误:

error: no type parameters for method foreach: (f: (Int) => U)Unit exist …
Run Code Online (Sandbox Code Playgroud)

continuations scala yield yield-return scala-2.8

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

如何识别darcs存储库中的修订版?

我的意思是我需要通过一些数字或字符串来识别一组应用的补丁,以快速检查我是否拥有与没有任何同步的其他人相同的代码版本.

是否有一些内置的darcs解决方案?

darcs

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

"git merge"中分支名称规范中的通配符

在"git merge"中指定分支名称时是否可能以某种方式使用通配符?

例如,如果我有:

sbos@malta:~/tmp/texterra$ git branch -r
  origin/HEAD -> origin/master
  origin/master
  origin/share/branch1
  origin/share/branch2
  origin/share/another-branch
Run Code Online (Sandbox Code Playgroud)

我可不可以做:

git merge origin/share/*
Run Code Online (Sandbox Code Playgroud)

与branch1,branch2和另一个分支合并?

git merge

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

标签 统计

continuations ×1

darcs ×1

git ×1

merge ×1

scala ×1

scala-2.8 ×1

yield ×1

yield-return ×1