Ответ 1
Похоже, это работает...
import Foundation
var theCosOfZero: Double = Double(cos(0)) // theCosOfZero equals 1
Я смотрю документацию Swift, но не могу найти ссылку на то, что там на других языках...
Примеры: sin()
, cos()
, abs()
для math, uppercase()
, lowercase()
для строк, sort()
, pop()
, push()
для массивов и т.д.
Для строк я нашел это в документах:
Swifts Строковый тип легко соединяется с Foundations NSString класс. Если вы работаете с базой Foundation в Cocoa или Cocoa Нажмите, весь API NSString доступен для вызова любого Строковое значение, которое вы создаете, в дополнение к описанным выше функциям String в этой главе. Вы также можете использовать значение String с любым API, который требуется экземпляр NSString.
Не могли бы вы указать мне какой-нибудь документ или где я могу найти перечисленные функции?
Похоже, это работает...
import Foundation
var theCosOfZero: Double = Double(cos(0)) // theCosOfZero equals 1
sin()
, cos()
, abs()
- это методы C, определенные в math.h https://developer.apple.com/legacy/library/documentation/Darwin/Reference/ManPages/man3/math.3.html
"str".uppercaseString()
и "str".lowercaseString()
- методы NSString.
sort()
является частью стандартной библиотеки Swift, задокументированной на https://developer.apple.com/documentation/swift/array/1688499-sort
Array.append()
и Array.removeLast()
также определены в стандартной библиотеке Swift, задокументированной на https://developer.apple.com/documentation/swift/array
Математические функции определены в модуле Дарвин, так что вы можете добавить абсолютный минимум:
import Darwin
В большинстве случаев достаточно import Foundation
или import Cocoa
, так как эти модули импортируют модуль Darwin
. Если вам нужен доступ к константам типа M_PI
или аналогичным, перейдите с помощью cmd + к модулю Darwin
и к Darwin.C
. Здесь вы можете найти импорт C API и Darwin.C.math
среди них. Таким образом, вы можете проверить, что доступно, уже преобразованное в Swift. Тем не менее, все, что C API доступно с import Darwin
.
Вы не можете выпустить import Darwin.C.math
напрямую, потому что вы увидите следующую ошибку времени выполнения (или аналогичную, если вы не находитесь на игровой площадке):
Playground execution failed: Error in auto-import:
failed to get module 'math' from AST context
Пример кода детской площадки:
import Darwin
func degToRad(degrees: Double) -> Double {
// M_PI is defined in Darwin.C.math
return M_PI * 2.0 * degrees / 360.0
}
for deg in 0..<360 {
sin(degToRad(Double(deg)))
}