for-comprehension

    0热度

    1回答

    我有以下模式: 某些可选参数的一些打法路线定义 GET /我的/路由controllers.something.Class.method (maybeA:可选[Int],maybeB:可选[Int]) 在该方法中,我希望能够使用这些参数。我觉得我不明白正确的使用模式。我想要做的是一样的东西: blah match { case Some(someCase) => // do someth

    0热度

    1回答

    所以我有一个问题想出如何用Scala产生理解的排列组合。问题是我想要具有通过在板上放置棋子来生成独特棋盘配置列表的功能。所以我写的代码是: case class Piece(x:Int,y:Int) def positionNotOccupied(piece: Piece,board: Seq[Piece]): Boolean = { !board.map(piece => (pie

    0热度

    1回答

    我想写一个返回未来的函数。在未来的三个未来功能中,第三个取决于前两个的结果。我的直觉是使用了comphrension,但是当我尝试匹配的元组我得到这个错误: value map is not a member of Object 其中提到(result1, result2)匹配下面 def future1 = Future { ... } def future2 = Future { ...

    -3热度

    1回答

    嗨我是新来斯卡拉,我不knowe我在做什么wrrong得到正确的典型成收声明: def prim(n:Int): (Boolean, List[Int]) = divsers(n) -> List(1,n) //flatMap for-comprehensions def divsers(n:Int):Boolean= (for{ d <- 1 to n if((n%d)

    2热度

    1回答

    当检查n是否是Scala中的素数时,最常见的解决方案是简洁的单线程,可以在SO的几乎所有类似问题中看到 def isPrime1(n: Int) = (n > 1) && ((2 until n) forall (n % _ != 0)) 移动的,它是简单的重写它仅检查奇数 def isPrime2(n: Int): Boolean = { if (n < 2) return fal

    0热度

    3回答

    我试图总结我的周围斯卡拉头,我知道什么是下列情况: val fFuture: Future[Int] = Future { println("f called"); 3 } val gFuture: Future[Int] = Future { println("g called"); 4 }

    1热度

    2回答

    考虑以下几点: 有与一定量的线的文本文件,如: 的test.txt: 一个 b Ç d Ë ˚F 克 ħ (各在有自己的行) 再有就是用于解析以下类: class MyAwesomeParser { def parse(fileName: String, readLines: Int): IndexedSeq[String] = { val randomAcces

    1热度

    2回答

    这个问题可能会被重复,但是,我还没有遇到任何问题可以解决我的问题。 所以我有一个List[ List[ Option[ Double ] ] ] 数据如下: var tests = List( List(Some(313.062468), Some(27.847252)), List(Some(301.873641), Some(42.884065)), List(So

    5热度

    2回答

    理解我有如下定义: def f: Option[String] = Some(null) 以下计算结果为无: for {x:String <- f} yield { x } 以下计算结果为一些(空): for {x <- f} yield { x } 以下评估为一些(空): f.map((x:String) => x) 我想知道他们之间为什么会有差异?

    0热度

    1回答

    我需要包装一堆函数返回Either[String, X] - 为理解,还需要转换一些调用的结果使用一些纯函数和缓存那些结果在临时变量中。 以下(非常人工的)代码不编译 1: def someFunc(x: Int): Either[String, Int] = Right(x) 2: 3: def someMath(i: Int): Int = i 4: 5: val z = for {