Help us understand the problem. What is going on with this article?

Swift3の標準出入力

More than 1 year has passed since last update.

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型に変換してから追加しています。

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away