gpt4 book ai didi

F#如何将类型添加到列表中?

转载 作者:行者123 更新时间:2023-12-01 09:48:06 25 4
gpt4 key购买 nike

所以我想用 F# 为学校项目创建一个纸牌游戏。我来自 C#,在理解 F# 中的内容时遇到问题。我有类型
Player = {Name : String; Hand : Card list}代表玩家

然后我有里面有卡片的甲板。如何将第一张牌从牌组移到玩家手上?在 C# 中,我会使用类似 removeat[i] 的东西.

最佳答案

let returnFirstElement list =
match list with
| h::t -> Some(h),t
| [] -> None,[]

将您的列表传递给它,它将返回一个元组。第一个值将是您的卡,第二个值是牌组的其余部分。
使用 Some 和 None 就好像你的牌库中的牌用完了,那么你就不会再拿回一张牌了。
如果您来自 C# 背景,请考虑 Some作为可空类型和 None为空。查看 F# SomeNone如果您不确定使用它们是很常见的。

你可以像这样使用
 let (topCard, restOfDeck) = returnFirstElement deckOfCards

如果需要,可以为您提供更多帮助,但这应该是一个足够好的开始。

关于F#如何将类型添加到列表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44203364/

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