gpt4 book ai didi

f# - 如何在可区分的联合中使用符号/标点符号

转载 作者:行者123 更新时间:2023-12-02 02:32:54 31 4
gpt4 key购买 nike

我正在尝试为自然语言解析器返回的词性标签和其他标签创建可区分的联合。

在 C#/Java 中通常使用字符串或枚举来表示它们,但在 F# 中似乎更适合区分联合,因为它们是不同的只读值。

在语言引用中,我发现这个符号
``...``
可用于分隔关键字/保留字。这适用于

type ArgumentType =<br/>
| A0 // subject<br/>
| A1 // indirect object<br/>
| A2 // direct object<br/>
| A3 //<br/>
| A4 //<br/>
| A5 //<br/>
| AA //<br/>
| ``AM-ADV``

但是,标签包含 $ 等符号,例如

type PosTag =<br/>
| CC // Coordinating conjunction<br/>
| CD // Cardinal Number<br/>
| DT // Determiner<br/>
| EX // Existential there<br/>
| FW // Foreign Word<br/>
| IN // Preposision or subordinating conjunction<br/>
| JJ // Adjective<br/>
| JJR // Adjective, comparative<br/>
| JJS // Adjective, superlative<br/>
| LS // List Item Marker<br/>
| MD // Modal<br/>
| NN // Noun, singular or mass<br/>
| NNP // Proper Noun, singular<br/>
| NNPS // Proper Noun, plural<br/>
| NNS // Noun, plural<br/>
| PDT // Predeterminer<br/>
| POS // Possessive Ending<br/>
| PRP // Personal Pronoun<br/>
| PRP$ //$ Possessive Pronoun<br/>
| RB // Adverb<br/>
| RBR // Adverb, comparative<br/>
| RBS // Adverb, superlative<br/>
| RP // Particle<br/>
| SYM // Symbol<br/>
| TO // to<br/>
| UH // Interjection<br/>
| VB // Verb, base form<br/>
| VBD // Verb, past tense<br/>
| VBG // Verb, gerund or persent participle<br/>
| VBN // Verb, past participle<br/>
| VBP // Verb, non-3rd person singular present<br/>
| VBZ // Verb, 3rd person singular present<br/>
| WDT // Wh-determiner<br/>
| WP // Wh-pronoun<br/>
| WP$ //$ Possessive wh-pronoun<br/>
| WRB // Wh-adverb<br/>
| ``#``<br/>
| ``$``<br/>
| ``''``<br/>
| ``(``<br/>
| ``)``<br/>
| ``,``<br/>
| ``.``<br/>
| ``:``<br/>
| `` //not sure how to escape/delimit this


``...``
不适用于 WP$ 或类似 (

此外,我还有一个有趣的问题,即解析器将 `` 作为有意义的符号返回,因此我也需要对其进行转义。

有没有其他方法可以做到这一点,或者这对于受歧视的工会来说是不可能的吗?

现在我收到类似这样的错误

  • 无效的命名空间、模块、类型或联合案例名称
  • 区分联合案例和异常标签必须是大写标识符

我想我可以以某种方式为这些愚蠢的情况覆盖 toString 并将符号替换为一些字母数字等价物?

最佳答案

规范似乎并不清楚在什么情况下允许在双反引号中转义哪些字符。

我认为您最好的选择是对 DU 案例使用标准标识符,并按照您的建议覆盖 ToString

关于f# - 如何在可区分的联合中使用符号/标点符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3057815/

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