【发布时间】:2021-06-21 08:19:18
【问题描述】:
我有一个函数,其中 2 个参数可以是 [Int]? 或 Int。我真的需要定义 4 个函数来解决这个问题吗?
func add(x : Float, y : Float, z : Float, out : [Int]? = nil, incoming : [Int]? = nil) -> Bool {
func add(x : Float, y : Float, z : Float, out : Int, incoming : [Int]? = nil) -> Bool {
func add(x : Float, y : Float, z : Float, out : [Int]? = nil, incoming : Int) -> Bool {
func add(x : Float, y : Float, z : Float, out : Int, incoming : Int) -> Bool {
//更新
我发现this posting 变量可以有多个类型。但它似乎不适用于数组(或者至少我不知道如何更改代码)。
【问题讨论】:
-
这是一个非常奇怪的 API 设计。这些参数是做什么用的?
-
@Alexander 这两个参数可能连接到其他点。它们可以连接到 0、1 或更多其他点。大多数情况下它们都连接到另一个点,因此将这个单个值放入
[]是不方便的。 -
这样的论点越多,不喷溅的情况就越糟糕。 forums.swift.org/t/explicit-array-splat-for-variadic-functions/…
-
你说的是积分,但实际上这里没有任何积分,只是随机的整数束。这些点是图形还是网格或类似的东西?看起来您在这里缺少一些域模型,这真的可以解决这个问题。
-
@Alexander 数据来自 XML 文件。我想添加更多点,连接其中一些并将数据写回 XML 文件。
标签: swift