Packages and Modules
Import Foundation
An import makes a module's library types and functions available to a Swift file.
Use a library after import
import_foundation.swift
Replay: real traced execution (multi-file project)
import Foundation
let rawName = "trace book"
let trimSet = CharacterSet.whitespacesAndNewlines
let normalized = rawName.trimmingCharacters(in: trimSet)
let words = normalized.split(separator: " ")
let title = words.map { word in
word.prefix(1).uppercased() + word.dropFirst()
}.joined(separator: " ")
print(title)
import Foundation
let rawName = "swift module"
let trimSet = CharacterSet.whitespacesAndNewlines
let normalized = rawName.trimmingCharacters(in: trimSet)
let words = normalized.split(separator: " ")
let title = words.map { word in
word.prefix(1).uppercased() + word.dropFirst()
}.joined(separator: " ")
print(title)
import Foundation
let rawName = "package guide"
let trimSet = CharacterSet.whitespacesAndNewlines
let normalized = rawName.trimmingCharacters(in: trimSet)
let words = normalized.split(separator: " ")
let title = words.map { word in
word.prefix(1).uppercased() + word.dropFirst()
}.joined(separator: " ")
print(title)
rawName ← trace book, trimSet ← <CFCharacterSet Predefined WhitespaceAndNewline Set>
3let rawName→ trace book = "trace book" //@rawName="swift module", "package guide"4let trimSet→ <CFCharacterSet Predefined WhitespaceAndNewline Set> = CharacterSet.whitespacesAndNewlines5let normalized→ trace book = rawNametrace book.trimmingCharacters(in: trimSet<CFCharacterSet Predefined WhitespaceAndNewline Set>)6let words→ ["trace", "book"] = normalizedtrace book.split(separator: " ")7let title→ Trace Book = words["trace", "book"].map { word in8 word.prefix(1).uppercased() + word.dropFirst()9}.joined(separator: " ")1011print(titleTrace Book)outputTrace Book
rawName ← swift module, trimSet ← <CFCharacterSet Predefined WhitespaceAndNewline Set>
3let rawName→ swift module = "swift module"4let trimSet→ <CFCharacterSet Predefined WhitespaceAndNewline Set> = CharacterSet.whitespacesAndNewlines5let normalized→ swift module = rawNameswift module.trimmingCharacters(in: trimSet<CFCharacterSet Predefined WhitespaceAndNewline Set>)6let words→ ["swift", "module"] = normalizedswift module.split(separator: " ")7let title→ Swift Module = words["swift", "module"].map { word in8 word.prefix(1).uppercased() + word.dropFirst()9}.joined(separator: " ")1011print(titleSwift Module)outputSwift Module
rawName ← package guide, trimSet ← <CFCharacterSet Predefined WhitespaceAndNewline Set>
3let rawName→ package guide = "package guide"4let trimSet→ <CFCharacterSet Predefined WhitespaceAndNewline Set> = CharacterSet.whitespacesAndNewlines5let normalized→ package guide = rawNamepackage guide.trimmingCharacters(in: trimSet<CFCharacterSet Predefined WhitespaceAndNewline Set>)6let words→ ["package", "guide"] = normalizedpackage guide.split(separator: " ")7let title→ Package Guide = words["package", "guide"].map { word in8 word.prefix(1).uppercased() + word.dropFirst()9}.joined(separator: " ")1011print(titlePackage Guide)outputPackage Guide
import
Swift files use `import` to name the modules they depend on before using the types or helpers provided by those modules.