Swift如何在函数中访问参数

时间:2016-10-01 23:11:24

标签: swift

我有这样的事情:

System.Timers

现在我想这样做:

enum Op {
    case Operation(String, (Double, Double) -> Double)
}

1 个答案:

答案 0 :(得分:0)

你的问题:

  

如何访问这两个(Double, Double)

......毫无意义。没有双打可访问。第二个值是(Double, Double) -> Double。这是功能。不是调用函数;只是一个功能。术语Double表示类型,而不是

您可以捕获此功能。您可以调用此功能,自己。但那里没有双打。你知道吗?

以下是实际工作代码的示例;在操场上试试:

enum Op {
    case Operation(String, (Double, Double) -> Double)
}

func f (x:Double, y:Double) -> Double { return x + y }

let op = Op.Operation("howdy", f)

switch op {
case .Operation(let symbol, let function) :
    print(symbol) // Howdy
    print(function(1,2)) // 3
}
你知道吗?我没有获取两个双打;我提供了他们。