0
0

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 5 years have passed since last update.

[Ruby]基礎から日記。入力と出力って鏡みたいでややこしい。

Last updated at Posted at 2014-01-25

引き続き筑波大学の問題でございます。また苦手なwhile trueです。

[Ruby-43]
io = open("foo.txt", "r")
while true
	line = io.gets
	print(line)
	if line == nil
		break
	end
end
io.close

while trueの何がtrueやねん。line〜endまでがtrueなら、という解釈でいいんでしょうか……。

ioでテキストファイルを開いて、lineでテキストファイルの中身を読み取って出力。nilはテキストファイルの中身がこれ以上読み取れませんでしたよ、という時点でbreakする。というわけで厳密な仕組みはともかく動くことは分かった。

と、ここまでやってみて2つのファイルを同時に開いて出力(入力?)するにはどうしたらいいんだろう。

io = open("foo.txt", "hoge.txt", "r") と続けてファイル名を指定してはダメなようだ。というわけで、

io = open("foo.txt", "r")
io2 = open("foxo.txt", "r")
while true
	line = io.gets
	line2 = io2.gets
	print(line, line2)
	if line && line2 == nil
		break
	end
end
io.close
io2.close

と書いてみたら、最初のファイルを1行目しか読んでくれないという始末。line && line2のところがおかしいのかな?

0
0
4

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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?