신속한 readLine(), 신속한 인쇄()
신속한 입력
Swift에서는 Playgrounds에서 표준 입력이 불가능합니다. 명백한 이유로 iOS 애플리케이션에서도 마찬가지입니다. 명령줄 응용 프로그램은 사용자의 입력을 읽을 수 있는 가능한 방법입니다. readLine()
은 사용자의 입력을 읽는 데 사용됩니다. 두 가지 형식이 있습니다.
readLine()
: 기본 방식입니다.readLine(strippingNewLine: Bool)
: 기본값은 true로 설정되어 있습니다. Swift는 항상 줄 바꿈이 입력의 일부가 아니라고 가정합니다.
readLine()
기본적으로 문자열입니다. main.swift
파일에 다음 줄을 추가합니다.
let str = readLine() //assume you enter your Name
print(str) //prints Optional(name)
옵션을 풀기 위해 다음 코드를 사용할 수 있습니다.
if let str = readLine(){
print(str)
}
Int 또는 Float 읽기
입력을 Int 또는 Float로 읽으려면 입력에서 반환된 문자열을 이들 중 하나로 변환해야 합니다.
if let input = readLine()
{
if let int = Int(input)
{
print("Entered input is \(int) of the type:\(type(of: int))")
}
else{
print("Entered input is \(input) of the type:\(type(of: input))")
}
}
Float의 경우 Int 이니셜라이저를 Float로 바꿉니다.
다중 입력 읽기
다음 코드는 여러 입력을 읽고 입력이 반복되는지 확인합니다.
while let input = readLine() {
guard input != "quit" else {
break
}
if !inputArray.contains(input) {
inputArray.append(input)
print("You entered: \(input)")
} else {
print("Negative. \"\(input)\" already exits")
}
print()
print("Enter a word:")
}
공백으로 구분된 입력 읽기
다음 코드는 공백으로 구분된 배열 형식으로 입력을 읽습니다.
let array = readLine()?
.split {$0 == " "}
.map (String.init)
if let stringArray = array {
print(stringArray)
}
split 함수는 공백 구분 기호 역할을 합니다. 입력을 공백으로 나누고 각각을 문자열로 매핑합니다. 마지막으로 배열 형태로 결합됩니다.
2D 배열 읽기
다음 코드는 2D 배열을 읽습니다.
var arr = [[Int]]()
for _ in 0...4 {
var aux = [Int]()
readLine()?.split(separator: " ").map({
if let x = Int($0) {
aux.append(x)
}
else{
print("Invalid")
}
})
arr.append(aux)
}
print(arr)
위의 코드에서 배열 안에 4개의 하위 배열을 만들 수 있습니다. 어느 단계에서든 행에 아무 것도 입력하지 않고 Enter 키를 누르면 빈 하위 배열로 처리됩니다.
스위프트 프린트()
우리는 표준 출력에서 print()
문을 자주 사용했습니다. 인쇄 기능은 실제로 다음과 같습니다. print(_:separator:terminator:)
print()
문 뒤에는 기본적으로 기본 새 줄 종결자가 옵니다.
print(1...5) //// Prints "1...5"
print(1.0, 2.0, 3.0, 4.0, 5.0) //1.0 2.0 3.0 4.0 5.0
print("1","2","3", separator: ":") //1:2:3
for n in 1...5 {
print(n, terminator: "|")
}
//prints : 1|2|3|4|5|
- 종결자는 각 인쇄 문 끝에 추가됩니다.
- 출력 값 사이에 구분자가 추가됩니다.
문자열을 값과 연결 \\(value_goes_here)
를 사용하여 문자열 내부에 값을 추가합니다.
var value = 10
print("Value is \(value)") // Value is 10
이것으로 Swift 표준 입력 및 출력에 대한 이 튜토리얼을 마칩니다.