Swift3の標準入出力の自分用メモです。paiza.ioで動作確認済みです。ご自由に利用ください。
標準入力をString型に代入
var str = readLine()!
print(str)
// abc を入力すると
// abc が出力される
Swiftでは標準入力をString型で受け取ります。
標準入力をInt形に代入
var num = Int(readLine()!)!
print(num)
// 28 を入力すると
// 28 が出力される
String型で受けてから、Int型に変換しています。
分かりやすく書くとこうなります。
var str = readLine()!
var num = Int(str)!
print(num)
スペース区切りの標準入力をString型の配列に代入して、全要素を出力
import Foundation
var str = readLine()!.components(separatedBy:" ")
for i in str {
print(i)
}
// abc de を入力すると
// abc
// de
// が出力される
// 配列strには["abc", "de"]が入っている
String型で受けてから、components(separatedBy:" ")を使って、
"abc"と"de"を要素に持つString型の配列を作っています。
区切り文字は、separatedBy: のあとに""で挟んで指定します。
例えば、/ で区切りたいときは、componenents(separatedBy:"/")
と書きます。
スペース区切りの標準入力をInt型の配列に代入して、全要素を出力
import Foundation
var str = readLine()!.components(separatedBy:" ")
var num = [Int]()
for i in str {
num.append(Int(i)!)
print(i)
}
// 29 18 を入力すると
// 29
// 18
// が出力される
// 配列numには[29, 18]が入っている
var num = [Int]()
で要素を持たないInt型の配列が作れます。
num.append(5)
と書くと、配列の末尾に、5 が追加されます。
今回は、配列strの各要素をInt型に変換してから追加しています。