scala-option

    3熱度

    3回答

    林想知道是否有一個簡短的手摺疊選項的地圖。例如 def divideByThree(x:Int) = if (x == 0) None else Some(x/3) val result = Some(6) map (divideByThree(_)) resut:Option[Option[Int]] = Some(Some(2)) 爲了解決這個問題我做 val result = So

    0熱度

    5回答

    我有一個Scala的Option[T]。如果該值Some(x)我想用一個不返回值(Unit)過程來處理它,但如果是None,我想打印一個錯誤。 我可以使用下面的代碼要做到這一點,但我明白,更習慣的方法是治療Option[T]作爲一個序列,並使用map,foreach,等我該怎麼辦呢? opt match { case Some(x) => // process x with no ret

    0熱度

    3回答

    我有以下代碼: class CSplit(var s1: CanvNode, var s2: CanvNode) extends SplitPane { topComponent = s1.merge bottomComponent = s2.merge def containsV(orig: MapCanvT): Option[MapCanvT] =

    18熱度

    4回答

    這基本上是包裝java工廠方法,如果無法基於輸入創建項目,則會拋出異常。我的基本庫尋找類似: def exceptionToOption[A](f: => A):Option[A] ={ try{ Some(f)} catch{ case e:Exception => None} } 用法: val id:Option[UUID] = ex

    5熱度

    2回答

    我已經閱讀了if語句Scala中總是返回 所以我嘗試做以下(僞代碼)的表達式相當於 sql = "select * from xx" + iif(order.isDefined, "order by " order.get, "") 我與 val sql: String = "select * from xx" + if (order.isDefined) {" order by " + or

    2熱度

    4回答

    考慮從斯卡拉解釋如下: scala> JSON.parseFull("""{"name":"jack","greeting":"hello world"}""") res6: Option[Any] = Some(Map(name -> jack, greeting -> hello world)) 爲什麼地圖中的一些()返回的東西?我如何使用它? 我想把值XML模板: <test>

    13熱度

    3回答

    我有一個Scala幫助器方法,它目前試圖獲取一個URL並返回一個Option [String]與該網頁的HTML。 如果有任何異常(格式不正確,讀取超時等),或者如果有任何問題,則返回無。問題是,拋出異常以便調用代碼能夠記錄異常,還是最好在這種情況下返回None?更好嗎?

    3熱度

    3回答

    在考慮到潛在的運行時故障,如數據庫查詢,似乎是一個必須使用某種形式的Either[String, Option[T]]爲了準確地捕捉到以下成果: 一些(發現結果) 無(沒有發現結果) SQL異常 選項根本沒有足夠的選擇。 我想我需要潛入斯卡拉,但現在它是直的要麼,除非我在上面丟失了一些東西。 已經把自己裝進了我的DAO實現的一個角落,只使用Either進行寫入操作,但現在我發現有些寫入依賴於Opt

    13熱度

    1回答

    使用for循環用一個簡單的選件上工作: scala> for (lst <- Some(List(1,2,3))) yield lst res68: Option[List[Int]] = Some(List(1, 2, 3)) 但遍歷選項的內容不會: scala> for (lst <- Some(List(1,2,3)); x <- lst) yield x <console>:8:

    2熱度

    1回答

    我在使函數泛型時遇到一些困難,並且需要一些幫助。我有一個數組,它取T的Option,其中T是分數。 在F#中,有一個函數「choose」從選項集合中去掉None。在scala中,我試圖使用「扁平」,但它不適用於泛型。 我的代碼是 var arr = Array.fill(capacity)(None :Option[T]) ... 後來我試圖讓一些公司的價值觀: var flat = arr.