假设你有这个元组
let tuple = (1,2,3,4)
你可以通过这样做“分解”它
let (a,b,c,d) = tuple
然后根据需要使用单个变量a,b,c,d。
您可以将占位符_用于您不需要的元组中的值。
let (a,b,_,_) = tuple
所以,除了前两个值之外,你忽略了一切。
如果元组有很多元素怎么办?例如,MIDIPacket
有一个data
元组,其值为128。大多数MIDI消息只有少量数据;通常只有3.如果只分解那些3并且忽略其余部分会很好。
像这样:
let (status, note, velocity, _) = packet.data
快速的呐喊。每个值都需要一个_。
除非我缺少通配符语法。我呢?
let (status, note, velocity, _*) = packet.data
会很好(但这不起作用)。
答案 0 :(得分:1)
使用您的简单示例可以执行以下操作:
let tuple = (1,2,3,4)
let (a,b,c,d) = tuple
let (x,y) = (tuple.0,tuple.1)
如果您知道元组上的元素,并且您有三个具体的元素,那么这应该可行。如果您不知道哪些包含数据,那么您需要编写一个函数来通过元组等等