웹사이트 검색

신속한 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 표준 입력 및 출력에 대한 이 튜토리얼을 마칩니다.