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
ответ
Эти три строки в конце кода должны быть где-то еще, например метод в классе. Исключением является то, что если вы используете детскую площадку, которую я ожидаю, это то, что вы хотите сделать в этом случае - игровые площадки могут иметь свободный код.
Если вы хотите, чтобы поместить его в классе, использовать что-то вроде этого:
class Testy {
func doStuff() {
let test = Square(sideLength: 5.2, name: "my test square")
let a = test.area()
print(a)
}
}
Если вы хотите, чтобы вызвать его из существующего метода, попробуйте использовать что-то вроде viewDidLoad()
в контроллере представления.
Это не печатает мне ничего в консоли, почему? – Cristian
Если вы поместите его внутри класса, вам нужно вызвать класс - создать новый экземпляр, а затем вызвать 'doStuff()' на нем. – TwoStraws
Я создаю его внутри класса Testy, и когда я пытаюсь позвонить, он дает мне ожидаемую ошибку! – Cristian
Вы пытаетесь выполнить функцию void на верхнем уровне. print()
должен быть вложен внутри класса, структуры и т. Д.
не работает, если он вложен в класс. Если я вложу его в класс, он даст мне следующую ошибку в строке: «let a = test.area()» Экземпляр участника не может использоваться по типу Squere – Cristian
- 1. Xcode «Ожидаемое отклонение», ошибка «Выражение не разрешено на верхнем уровне»
- 2. Обнаженное выражение на верхнем уровне для простого эксперимента Template Haskell
- 3. Обработка исключений на верхнем уровне
- 4. Запуск активности на верхнем уровне
- 5. Проверка заголовков на верхнем уровне
- 6. метод экземпляра на верхнем уровне
- 7. Выражения не допускаются на верхнем уровне
- 8. Данные на верхнем уровне введите на уровне приложения
- 9. Nutch + Solr только на верхнем уровне страницы
- 10. Рисование кругов на верхнем уровне рисунка
- 11. QTreeWidget - отключить падение на верхнем уровне
- 12. Активность на верхнем уровне для Android
- 13. Генераторы узлов: использование урожая на верхнем уровне
- 14. Элементы субнома XML/XSLT на верхнем уровне
- 15. Маршрутизатор: CanActivate на верхнем уровне маршрута
- 16. Несколько вспомогательных маршрутов на верхнем уровне
- 17. Ошибка, поднятая на верхнем уровне: Fluent.EntityError.noDatabase
- 18. Использование dir() на верхнем уровне в классе
- 19. Модернизация, изменение объекта json на верхнем уровне?
- 20. Получить вызов ошибок на верхнем уровне?
- 21. cElementTree.ParseError: несколько элементов на верхнем уровне
- 22. вызова метода на верхнем уровне реагировать компонент
- 23. Дать ключ на верхнем уровне с QSettings
- 24. Git только чеки на верхнем уровне
- 25. Импорт javascript на верхнем уровне - Redux
- 26. jquery count li's на верхнем уровне UL
- 27. Запуск действия на верхнем уровне изнутри iframe
- 28. Как нарисовать прямоугольник на верхнем уровне
- 29. GIT не находит каталог .git, когда на верхнем уровне проекта
- 30. Команда не работает на верхнем уровне MenuItem в MVVM
Это действительно отлично работает в консольном приложении. Поэтому я бы предположил, что это проект Cocoa/CocoaTouch? – Sulthan
Какой проект я должен создать для быстрого запуска? – Cristian
Вы спрашиваете неправильно. Какое приложение вы пытаетесь сделать? Приложение iOS? Приложение OS X Window? Консольное приложение? Приложение Apple Watch? – Sulthan