guard-clause

    0熱度

    3回答

    Ruby中有更好/更清晰的方法嗎? def my_method(x, y) return error if (error = validate(x, y)) # do something else end 我在別處打電話給#validate,所以爲了保持乾爽,我讓它返回錯誤信息。

    4熱度

    2回答

    我需要檢查,如果列表與另一個開始,短名單。功能,使用時當後衛很簡單: let rec startsWith l1 l2 = match l1, l2 with | [], _ | _, [] -> true | x::xs, y::ys when x = y -> startsWith xs ys | _ -> false let lst1 = [ 1;

    2熱度

    2回答

    升級到VS 2012 RTM後,this question中的活動模式無法編譯。它提供了一種方法來進行類型測試並在單個模式中匹配文字。例如: let (|Value|_|) value = match box value with | :? 'T as x -> Some x | _ -> None let getValue (name: string) (r:

    2熱度

    2回答

    元組我定義了一個點 type TimeSeriesPoint<'T> = { Time : DateTimeOffset Value : 'T } 等一系列 type TimeSeries<'T> = TimeSeriesPoint<'T> list ,我認爲在這個列表中的點按時間排序。 我想壓縮兩個時間序列,其中,一般來說,他們將有同一時間的點,但可能有一些點在其中

    2熱度

    1回答

    考慮以下功能: let private actionPixel(pixelColour:Color) = match (pixelColour.A, pixelColour.R, pixelColour.G, pixelColour.B) with | (0uy, _, _, _) -> transparent | (alpha, red, green, blue

    1熱度

    2回答

    我做了一個函數,它接受一個列表和一個列表列表,並返回一個新的列表列表。 let rec calculator list SS = match (List.item(0) SS) with |[] -> [] |_ -> match (validate list (List.item(0) SS)) with |(validate theCode list)

    10熱度

    1回答

    在Haskell,一個可以寫: containsTen::Num a => Eq a => [a] -> Bool containsTen (x : y : xs) | x + y == 10 = True | otherwise = False 是否有可能寫的東西相當於伊德里斯,而不ifThenElse做(我的實際情況比上面的一個更復雜的)?

    4熱度

    3回答

    我正在學習F#,並且我已經開始玩弄序列和match表達式。 我正在編寫一個網頁抓取工具,它正在瀏覽類似於以下內容的HTML,並將父類<span>中的最後一個網址與paging類關聯起來。 <html> <body> <span class="paging"> <a href="http://google.com">Link to Google</a> <a hr

    4熱度

    2回答

    一個common surprise是,以下是一個不完整的比賽: let x, y = 5, 10 match something with | _ when x < y -> "Less than" | _ when x = y -> "Equal" | _ when x > y -> "Greater than" 但我只是遇到了讓我吃驚的情況。下面是樣本一小段代碼來證明它: type

    4熱度

    1回答

    此問題受this question啓發。 我理解這個例子(ListBuilder),但我一直無法爲我的狀態monad創建一個while循環。我不清楚如何bindwhile循環的主體,因爲迭代是一個又一個。 謝謝。 ///////////////////////////////////////////////////////////////////////////////////// // Def