class NamedShape {
var numberOfSides: Int = 0
var name: String
init(name: String) {
self.name = name
}
func simpleDescription() -> String {
return "A shape with \(numberOfSides) sides."
}
}
class Square: NamedShape {
var sideLength: Double
init(sideLength: Double, name: String) {
self.sideLength = sideLength
super.init(name: name)
numberOfSides = 4
}
func area() -> Double {
return sideLength * sideLength
}
override func simpleDescription() -> String {
return "A square with sides of length \(sideLength)."
}
}
let test = Square(sideLength: 5.2, name: "my test square")
let a = test.area()
print(a) //here gives me the error: Expression are not allowed at the top level
答案 0 :(得分:1)
您正尝试在顶层执行void函数。 indexEnemy
必须嵌套在类,结构等中。
答案 1 :(得分:-1)
代码末尾的那三行需要在其他地方,例如类中的方法。例外情况是,如果您正在使用游乐场,我希望在这种情况下您想要做的事情 - 游乐场可以使用松散的代码。
如果你想把它放在一个类中,请使用以下内容:
class Testy {
func doStuff() {
let test = Square(sideLength: 5.2, name: "my test square")
let a = test.area()
print(a)
}
}
如果您想从现有方法中调用它,请尝试在视图控制器中使用viewDidLoad()
之类的内容。