LoginSignup
3
1

More than 3 years have passed since last update.

【paiza】swift で複数行の標準入力を受け取る方法

Last updated at Posted at 2019-09-13

paizaをSwiftで挑戦中ですが、複数行の標準入力の受け取り方でこけたのでメモ。
(なぜSwiftはサンプルコードがないのか。。。)

関係ないけど、paizaのswiftはバージョン3.0.1(20190913現在)なんですね。
xcode10だと5.0だからまたどこかで書き方の差が出てハマりそうだ。。

(結論)複数行の標準入力の受け取り方

qiita.swift
/* 標準入力で次のように与えられたとする
2
5
4
*/

var Array = [String]()        // String型の配列を用意
let row = 3                   // 入力される行数
for i in 0..<row {
    Array.append(readLine()!) // for文で配列に追加する
}
print(Array)  // 出力結果 -> ["2", "5", "4"] 

複数行ある場合、その行数と同じ回数readline()!を取りにいかなればならないようである。
数が多い場合を想定してfor文で記載した。

解説

言語選択でSwiftを選択した際のデフォルト通り出力してみる。
一行目の値のみString型で出力される。

qiita.swift
/* 入力例
2
5
4
*/
let input_line = readline()!
print(input_line)

/* 結果
"2"
*/

試しに2回出力してみる。
二行出力される。

qiita.swift
/* 入力例
2
5
4
*/
let input_line1 = readline()!
let input_line2 = readline()!
print(input_line1)
print(input_line2)

/* 結果
"2"
"5"
*/

初心者はこんなことでも簡単に心が折れる

最初"2\n5\n4"みたいなのを想像して頑張って改行でセパレートしようと頑張った。
全然違った。辛い。
辛くてもググるの大事。先人は偉大です。

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1