1
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

paizaで知った入力ファイルの取り方(Rubyで実装)

Last updated at Posted at 2018-10-30

どうも,院生へなちょこプログラマーです.

今回は読み込んだファイルの扱い方についてです.

最近まで恥ずかしながら,
企業で実施されるWebテストでよくみる入力ファイルの読み込みで詰まっていました.

#読み込むデータについて
よくみる問題で渡されるデータがこちら.

スクリーンショット 2018-10-30 17.56.47.png

上記のファイルを読み取る方法がよくわからなかったので,
調べて気づいたことをメモ書きいたします.

#paizaのサンプルコード

paiza.rb
input_lines = gets.to_i
input_lines.times {
  s = gets.chomp.split(",")
  print "hello = ",s[0]," , world = ",s[1],"\n"
}

これを見た当時の僕
:値は配列で入っているのかな?
:そうであるなら改行とか空白はどうなるの?

getsを調べないとわからないなと思い,調べていくと少しづつわかってきた.

#結論
getsは一列目のデータを得る.
例えばサンプルであるならば,

paiza.rb
#input_lines = 2 という1行目のデータが入る
input_lines = gets.to_i
 
#実際は 2.timesになっている
input_lines.times { 
 #sに2と5を配列で格納する(splitで,を消して分ける)
  s = gets.chomp.split(",")
  #s[0]には2,s[1]には5が入っているわけである
  print "hello = ",s[0]," , world = ",s[1],"\n"
}

コメントに記載した通り,上記のようになる.

#一言
paizaで勉強する際にはこの知識は前提ですね.
また,企業のWebテストを受ける前に必ず知っておくべきことだと思うので,
受ける際には,練習問題をやっておくことをお勧めします.
(筆者は練習も何もせず受けて,ぼこられました・・・)

最後に,「getsの考え方間違っているよ!」とか
「データの取り方はこれが便利だよ」とか
アドバイス等あれば,コメントよろしくお願いします!

1
4
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
1
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?