gpt4 book ai didi

swift - 元组分解通配符

转载 作者:可可西里 更新时间:2023-11-01 02:21:18 24 4
gpt4 key购买 nike

假设你有这个元组

let tuple = (1,2,3,4)

你可以通过这样做来“分解”它

let (a,b,c,d) = tuple

然后根据需要使用各个变量 a、b、c、d。

您可以将占位符 _ 用于您不需要的元组中的值。

let (a,b,_,_) = tuple

因此,您将忽略除前两个值之外的所有值。

如果元组有很多元素怎么办?例如,MIDIPacket 有一个包含 128 个值的 data 元组。大多数 MIDI 消息只有少量数据;通常只有 3 个。如果只分解这 3 个而忽略其余的就好了。

像这样:

let (status, note, velocity, _) = packet.data

swift 不同意。每个值都需要一个 _。

除非我遗漏了通配符语法。我是吗?

let (status, note, velocity, _*) = packet.data

会很好(但这不起作用)。

最佳答案

使用您的简单示例,您可以执行如下操作:

let tuple = (1,2,3,4)
let (a,b,c,d) = tuple
let (x,y) = (tuple.0,tuple.1)

如果您知道元组中的元素并且有三个特定的元素是您想要的,那么这应该可行。如果您不知道哪些包含数据,那么您需要编写一个函数来遍历元组等

关于swift - 元组分解通配符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30804716/

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