cost 114 ms
如何部分應用活動模式

[英]How to partially apply an active pattern

Fsharpx.Extras NuGet package 公開了一個用於正則表達式匹配的活動模式,限定為Fsharpx.Text.Regex.Match 。 第一個參數是來自 BCL 的 RegexOptions 值。 而不是必須寫: 我希望有可能(使用修改后的Match'活動模式): 我想出的一 ...

FSharpPlus 上的活動模式 trySscanf

[英]Active Pattern on FSharpPlus trySscanf

我正在嘗試圍繞FSharpPlus 的trySscanf創建一個活動模式Scan ,以便以下工作:let res = // res = 42 match "Hello 42 World" with | Scan "Hello %i World" n -> n 我理解不完整的活動模式 ...

在F#模式匹配中拆分代碼塊以提高可讀性

[英]Splitting out blocks of code in F# pattern matching for readability

在使用“匹配”的模式匹配中,每個模式的代碼可能很大,請參閱上面的Foo ,這使我想要將塊拆分為單獨的調用以提高可讀性。 這個問題可能是即使模式不匹配也會評估調用,如上面的Bar所示。 選項1:懶惰的評估。 選項2:轉發參數/參數。 選項3:轉發參數/參數並使用活 ...

為什么活動模式會以這種方式運行?

[英]Why active patterns behave this way?

我在Gene Belitski的優秀書籍F# Design Patterns找到了這個代碼: 作者認識到這是 “如果你記得一個值的let綁定是基於模式匹配的數據反匯編的角落情況,那么一個稍微令人難以置信的例子變得清晰,所以I'm active pattern應用於輸入參數40並將結 ...

在F#中使用布爾函數作為模式鑒別器

[英]Using boolean functions as pattern discriminators in F#

我試着谷歌搜索這個,但我找不到一系列的文字引導我到我想做的事情。 我正在嘗試解決Project Euler Problem 54 ,我有這個相當荒謬的功能: 所有isSomething關鍵字都是采用string array並返回布爾值的函數。 使用模式匹配是否有更優雅的方法? ...

歧視工會中的咖喱論點

[英]Curried Arguments in Discriminated Unions

我有一個這樣的歧視工會: 我必須像這樣進行模式匹配(似乎需要括號): 有沒有辦法像這樣將類似的模式與活動模式匹配: 如果不是這樣,那么如何設計F#使其無法與匹配的參數匹配,而是迫使您使用元組? 編輯:這是受F#列表的啟發,您可以在其中使用h::t而不進行任何扭曲或類 ...

如何在函數表達式中組合F#活動模式匹配函數?

[英]How to compose F# Active Pattern Matching functions inside a Function Expression?

我們有這個小幫手功能 並且在函數接口中使用活動模式匹配函數NonEmptyString可以正常工作: 現在來問題了。 將一些驗證器組合在一起作為更復雜的驗證約束會很好,就像這樣 如果只允許一個's',我們可以考慮組合這些函數,這樣我們只有一個參數s。 並且因為活動 ...

是否可以在已區分聯盟的基礎形狀上進行模式匹配?

[英]Is is possible to pattern match on the underlying shape of a discriminated union?

F#是否支持通過除標識符模式以外的條件對已區分的工會成員實例進行模式匹配? 例如,假設我想匹配數據的基本形狀,並且想考慮任何具有int * int形狀的東西,而不管DU如何對值進行分類。 是 這是我現在要做的: 我想要以下內容: F#當前是否支持某些類似的表達語法, ...

多案例參數化活動模式返回錯誤FS0722只有返回一個結果的活動模式可以接受參數

[英]Multi-case parameterized active patterns returning error FS0722 Only active patterns returning exactly one result may accept arguments

由於我只發現了關於這個錯誤的日文頁面,我想,讓我們記錄它並在這里問,因為我的日語有點生疏。 如果我有以下FSharp活動模式(簡化示例): 它完美編譯並顯示其類型: 但是當我嘗試使用它時,即如下所示,它會拋出一個錯誤: 拋出:錯誤FS0722:只有返回一個結果的 ...

在F#中適當使用活動模式

[英]Appropriate use of active patterns in F#

我正在使用活動模式來解析csv格式的使用日志中的使用事件。 下面列出了活動模式部分。 解析整個文件效果很好,生成的序列充滿了各種UsageEvents。 我遇到的問題是我可能以錯誤的方式使用ActivePattern。 我想基於一些邏輯走出列表來創建一個樹,但是在解析之后我無法匹配 ...

F#避免活動模式覆蓋

[英]F# Avoid active pattern overwriting

我注意到我無法使用相同的選項創建兩個活動模式,但我可以有兩個類似的模式沒有任何警告: 所以當這種方式匹配時: 有時候是這樣的: 我有點擔心無意中覆蓋現有的活動模式選項,例如在同一個單詞可能出現在不同模式中的情況,因為不同的語義上下文,如(|Direct|Indirect| ...

按任意順序匹配列表項目

[英]Match List Items in Any Order

當涉及到F#的許多領域時,我仍然是新手。 我出於好奇而不是出於實際的業務需求而提出這個問題。 有沒有辦法匹配列表中的前n個項目,無論它們出現的順序如何? 為了澄清,請考慮以下示例: 現在,假設我想調用some_func如果列表中的前兩個項目是任何順序的Foo和Bar 。 只匹配兩 ...

將部分活動模式作為參數傳遞?

[英]Passing partial active patterns as arguments?

我正在通過使用活動模式編寫遞歸下降解析器來學習F#。 由於我的所有規則或部分活動模式都需要以不同的方式組合它們,但我對將活動模式作為參數傳遞的語法感到非常沮喪。 以下示例顯示了我遇到的問題: 我的主要困惑似乎是關於'|' 運營商。 有時它似乎是模式類型的一部分,有時也是名 ...

與AND模式不完全匹配

[英]Incomplete match with AND patterns

我在F#中定義了一個表達式樹結構,如下所示: 我希望能夠漂亮打印表達式樹,所以我做了以下事情: 但是,我並不喜歡operator函數的failwith方法,因為它不是編譯時安全的。 所以我把它重寫為一個活躍的模式: 現在我可以很好地重寫我的format函數,如下所示: ...

F#部分活動模式匹配“規則永遠不會匹配”

[英]F# Partial Active Pattern Matching “Rule Will Never Be Matched”

鑒於以下活躍模式: 以下模式匹配func: 最后一行的通配符模式表示warning FS0026: This rule will never be matched 我看到的所有示例似乎都推斷出部分活動模式必須返回Some('a)才能匹配,而返回None那些將被通配符捕獲。 ...

在discrimated union類型聲明中使用活動模式

[英]Using active patterns within discrimated union type declarations

是否可以在discrimated union類型聲明中使用活動模式? 更准確地說,請考慮以下玩具示例: 現在假設我想覆蓋T中的ToString()。在T的類型聲明中,我不能引用T_ToString,因為T_ToString尚未在那時聲明。 我無法在ToString()之前移動活動 ...


 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM