【发布时间】:2015-11-20 21:51:03
【问题描述】:
我对编程很陌生,而且我是 Swift 2.0 的新手,所以这可能是一个愚蠢的问题。 但我有:
struct Geometry {
static let Pi : Double = 3.14159265358979323846
func get_angle(x1: Int, y1: Int, x2: Int, y2:Int) -> Double {
...
func get_angle(point1 : CGPoint , point2 : CGPoint) -> Double {
我可以通过执行“Geometry.Pi”来访问 Pi,它工作得很好。 但由于某种原因,我无法访问 get_angle 函数。 我尝试过“Geometry.get_angle(x1, y1: y1, x2: x2, y2: y2)”,但随后它抱怨“调用中的额外参数 'y1'” 我试图通过在函数声明之前添加 _ 来删除所有函数变量名称,如下所示:
func get_angle( x1: Int, _ y1: Int, _ x2: Int, _ y2:Int) -> Double {
并将其命名为:“ Geometry.get_angle(x1, y1, x2, y2) ” 但随后它抱怨“无法使用类型的参数列表调用'get_angle'('Int','Int','Int','Int')” 为什么我不能这样做?是这样的想法。。 奇怪的是,当我开始输入“Geometry.get_an”时,建议框出现了,看起来很奇怪。我在这里有一张照片:http://imgur.com/ebciWjo 如果有人想看看。它给了我选项:Geometry.get_angle(Geometry),但 Geometry 不是变量类型。
我本质上想要做的是将一些全局函数和全局变量放在一个“常量”/“通用”文件中——就像你在其他语言中所做的那样。 我知道每个函数基本上都是一个全局函数,只要它没有被标记为私有。 我用这个: Global constants file in Swift 作为我创建几何时的参考..
谁能帮我在 swift 2.0 中制作一个包含变量和函数的常量/通用文件?
编辑: 只是为了澄清一下,如果我创建一个 Geometry 变量,我可以很好地访问该函数,但这不是我想要的。我想要全局函数。 另外,我尝试将它们移出结构,但出现相同的错误,“无法使用类型参数列表调用 'get_angle' ('Int', 'Int', 'Int', 'Int')”
【问题讨论】:
-
与您的问题无关,但请注意有一个预定义的常量
M_PI。