大体覚えてきたけど、ちょくちょく過去投稿などを見返したり調べたりするので、この投稿でまとめておく。
6/13、とりあえずミニマムで公開。随時増やしていく予定。
7/24、ちょっと直したり追加したりした。
INDEX
■数字が1つ
標準入力
1
●文字列のまま
x = gets
p x
# => "1"
- 変数名は適当なので、問題文に合わせる
gets
だけだと文字列で返ってくる
●文字列のまま(chompで改行コードを削除)
x = gets
p x
# => "1\n"
x = gets.chomp
p x
# => "1"
- 標準入力で最後に改行が入っている場合、
\n
が入ってしまう - これを削除するには
chomp
を追加する
●整数にする
x = gets.to_i
p x
# => 1
to_i
するとinteger(整数)
になるto_i
すると、一緒に改行コードも取ってくれるのでchomp
は不要
■数字が1行に2つ
標準入力
1 2
●1つの変数に配列で入れる
x = gets.split.map(&:to_i)
p x
# => [1, 2]
●それぞれ別の変数に入れる
x, y = gets.split.map(&:to_i)
p x
p y
# => 1
# => 2
■数字が2行に1つずつ
標準入力
1
2
●それぞれ別の変数に入れる
x = gets.split.map(&:to_i)
y = gets.split.map(&:to_i)
p x
p y
# => 1
# => 2
■1行目に、2行目以降で何この数字が並ぶのかが入り、2行目以降に数字が複数行に1つずつ
標準入力
4
1
2
3
4
●1行目で取得した数を使う方法
n = gets.to_i
lines = n.times.map do |line|
line = gets.to_i
end
p lines
# => [1, 2, 3, 4]
●1行目をスルーする方法
n = gets.to_i
lines = readlines
p lines.map { |line| line.to_i}
# => [1, 2, 3, 4]