gpt4 book ai didi

.net - F# 中的 "The value is not a function and cannot be applied."错误

转载 作者:行者123 更新时间:2023-12-02 00:30:19 24 4
gpt4 key购买 nike

我试图运行以下 FParsec 代码,直到由于某种原因它停止工作:

enter image description here

我得到的错误是

"The value is not a function and cannot be applied."

如果我注释掉最后一行代码 (test ns ".."),它不会产生错误,不过。关于如何解决这个问题有什么想法吗?


文本形式的源代码如下:

open System
open FParsec

let test p str =
match run p str with
| Success(result, _, _) -> printfn "Success: %A" result
| Failure(errorMsg, _, _) -> printfn "Failure: %s" errorMsg

type Namespace = { Name : string; Classes : string list; }

let classes : Parser<string list, unit> =
many (spaces >>. many1Satisfy isLetter .>> spaces)

let ns =
pipe2
(spaces >>. skipString "namespace" >>. spaces >>. many1Satisfy isLetter)
(spaces >>. skipString "{" >>. classes .>> skipString "}")
(fun name classes -> { Name = name; Classes = classes } )

test ns "namespace abc { def ghi }"

最佳答案

没有人能猜到这里的答案。问题出在我决定从帖子中排除的其他东西:我文件的标题:

#if INTERACTIVE
#r @"C:\Users\xyz\Desktop\fparsec-main-default\Build\VS10\bin\Debug\FParsecCS.dll";
#r @"C:\Users\xyz\Desktop\fparsec-main-default\Build\VS10\bin\Debug\FParsec.dll";
#endif

; 替换为 ;; 将使所有错误消失:

#if INTERACTIVE
#r @"C:\Users\xyz\Desktop\fparsec-main-default\Build\VS10\bin\Debug\FParsecCS.dll";;
#r @"C:\Users\xyz\Desktop\fparsec-main-default\Build\VS10\bin\Debug\FParsec.dll";;
#endif

关于.net - F# 中的 "The value is not a function and cannot be applied."错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7180542/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com