将字符串数组优化为float3数组

时间:2018-09-04 01:23:44

标签: arrays mapping swift4 simd

我正在尝试采用

这样的字符串文字值
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数组中:)谢谢!

0 个答案:

没有答案