implicit

    1熱度

    1回答

    我已經定義了一個類,該類中有一個方法試圖使用帶有隱式參數的函數。不幸的是它的失敗編譯 class Test { def useImplicit(implicit a: Boolean) = a def getAnswer() = if (useImplicit) println("yes") else println("no") } object Preferences

    5熱度

    3回答

    考慮一些方法 def f[A,B](p: A)(implicit a: X[A,B], b: Y[B]) 是否的ab之前類型推斷隱含參數列表之內的順序? 我認爲只有參數在不同參數列表中的位置很重要,例如,類型信息只能通過參數列表從左到右流動。 我在問,因爲我注意到,改變單隱式列表中的隱式參數的順序使得我的編譯程序成爲可能。 真實的例子 下面的代碼是使用: 不成形2.1.0 斯卡拉2.11.5

    1熱度

    1回答

    給定此類與implicit Int。 scala> class Foo(implicit val x: Int) { | def getX = x | } defined class Foo 我可以創造一個明確通過: scala> val f = new Foo()(1) f: Foo = [email protected] 但我不能用: scala> val f

    8熱度

    1回答

    我只是碰到了功能和對象之間的差距怪(斯卡拉2.10): implicit def conv(c: Int => String) : (PrintStream => Int => Unit) = p => v => p.println(c(v)) def f(h: PrintStream => Int => Unit) : Unit = h(System.out)(1) def a(x: In

    0熱度

    1回答

    我有一個特徵定義了一個函數 - 我不想指定它將如何工作,直到以後。這個特點是混在幾個班的情況下,像這樣: trait AnItem trait DataFormatable { def render():String = "" // dummy implementation } case class Person(name:String, age:Int) extends Data

    0熱度

    3回答

    我在玩Scala Spray。我喜歡與它合作,但無法弄清楚一件事。 此代碼編譯罰款: import spray.http.MediaTypes._ import spray.routing.HttpService import spray.json.{DefaultJsonProtocol, _} import spray.httpx.SprayJsonSupport._ trait S

    0熱度

    1回答

    我目前正在使用scala的網絡庫。我遇到過這樣的事情: object Packet { trait Reader[T] { def read(iterator: ByteIterator): T } object Reader { implicit object ByteReader extends Reader[Byte] { de

    5熱度

    2回答

    作爲J中的初學者,我經常遇到默認的程序,它比較熟悉的顯式形式似乎相當拜占庭式。 現在只是因爲我覺得難解釋並不意味着默認形式是不正確或錯誤的。很多時候,默認形式比顯式形式短得多,因此更容易一次直觀地看到所有形式。 給專家的問題:這些默契形式是否表達了更好的結構感,並且可能提煉出潛在的計算機制?還有其他好處嗎? 我希望答案是肯定的,並適用於某些非簡單的例子...

    2熱度

    1回答

    Inverse Int Order我在使用scalaz.Heap問題,我需要提取最大值而不是最小值。 我試過到目前爲止: 使用否定整數 - 難看,不方便 聲明範圍implicit val reversedOrder: Order[Int] = Order[Int].reverseOrder - 沒有工作 使用這樣的建築模仿哈斯克爾的newtype: implicit class Inverse[T

    1熱度

    1回答

    我難以使flatUnzip的隱式需求正常工作。目前看起來第一個要求A是Tuple2[CC1[T1], CC2[T2]]被忽略(因此理智檢查無法編譯)。這裏有什麼建議?在回答時,也請解釋我目前的嘗試有什麼問題。 class MySeq[A](val _seq: Seq[A]) extends AnyVal { def flatUnzip[T1, T2, CC1[T1], CC2[T2]](