微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

swift – 数学符号作为函数参数

我可以以某种方式发送数学符号(,–,*)作为函数参数吗?我想为不同的符号调用reduce()函数.

解决方法

swift中,是指定数学运算的函数名称.要将sign作为参数传递,参数类型必须是带两个数字并返回数字的函数.如果您命令单击任何符号,您将看到其定义如下:

public func +(lhs: UInt8,rhs: UInt8) -> UInt8

public func +(lhs: Int8,rhs: Int8) -> Int8

public func +(lhs: UInt16,rhs: UInt16) -> UInt16

public func +(lhs: Int16,rhs: Int16) -> Int16

public func +(lhs: UInt32,rhs: UInt32) -> UInt32

public func +(lhs: Int32,rhs: Int32) -> Int32

public func +(lhs: UInt64,rhs: UInt64) -> UInt64

public func +(lhs: Int64,rhs: Int64) -> Int64

public func +(lhs: UInt,rhs: UInt) -> UInt

public func +(lhs: Int,rhs: Int) -> Int

在您的情况下,您的reduce函数应如下所示

func reduce(sign: (Int,Int)->Int) -> Int{

    return sign(2,3)
}

reduce(*)
reduce(-)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐