我正在尝试采用
这样的字符串文字值var s: String = "0.9 1.2 4.8 0.4 3.2 7.9"
并将其转换为float3这样的数组
var f: [float3] = [float3(0.9, 1.2, 4.8), float3(0.4, 3.2, 7.9)]
到目前为止,我已经为看起来像这样的字符串编写了扩展功能
extension String {
func toFloat3Array()->[float3]{
var result = [float3]()
let pointArray: [Float] = self.split(separator: Character(" ")).map { Float($0) ?? 0.0 }
for var i in 0..<pointArray.count - 2 {
result.append(float3(pointArray[i++], pointArray[i++], pointArray[i++]))
}
return result
}
}
*注意:我为i(++)创建了一个运算符重载,该运算符重载值,然后像在Java中看到的那样增加它。
这很好,但是我希望有更好的方法将值从字符串数组映射到float3数组中:)谢谢!