質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Q&A

解決済

3回答

514閲覧

このプログラムがしたいことが分かりません

pinope

総合スコア9

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

0グッド

1クリップ

投稿2019/08/05 01:43

初心者ですみません。

このプログラミングがやりたいことが分かりません。テキストファイルの行数をカウントするプログラムでしょうか。だとしたらn=ARGV[1]は何を意味するのでしょうか。
ちなみにエラーメッセージは
1: from Z:/rprog/jul23/testB4a.rb:1:in open' Z:/rprog/jul23/testB4a.rb:1:in initialize': No such file or directory @ rb_sysopen - sampletxt1.txt (Errno::ENOENT)

です。

file=open(ARGV[0],'r')
n=ARGV[1].to_i
count=0
while count<n
file.gets
end
line=file.gets
printf('%3d: %s',n,line)

どなたか教えていただけたらありがたいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kei344

2019/08/05 03:33

まだ質問が「受付中」になっていますが、「ベストアンサー」を選び「解決済」にされてはいかがでしょうか。
pinope

2019/08/05 03:43

ベストアンサーを選ばせて頂きました。ご指摘ありがとうございます。
guest

回答3

0

回答ありがとうございます。

file=open(ARGV[0],'r')
n=ARGV[1].to_i
count=0
while count<n
file.gets
end
line=file.readline
printf('%3d: %s',n,line)

にしたところ少し改善しました。
ありがとうございました。

投稿2019/08/05 02:28

pinope

総合スコア9

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

んー……
第1パラメータで受け取ったファイルの、第2パラメータで指定された「行」を表示する、ですかね。

Ruby

1n=ARGV[1]

ではなく、

Ruby

1n=ARGV[1].to_i

ですから、ARGV[1](第2パラメータ)を、「数値と見なして整数値に変換」した値を n に入れています。

ただしこのプログラム、意図したとおりには動きませんよ。

投稿2019/08/05 01:48

tacsheaven

総合スコア13703

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

pinope

2019/08/05 01:59

なるほど、回答ありがとうございます。 自分なりに動くようにトライします。
guest

0

不明ならググればすぐわかります。
質問書いて回答待つより速いです。
ARGVってなに?

投稿2019/08/05 01:45

gentaro

総合スコア8949

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

pinope

2019/08/05 03:27

リンクありがとうございます。 自分で調べてみます。
gentaro

2019/08/05 04:41

ひょっとしたらARGVじゃなくてnについての質問だったんでしょうか。 だとすると誤読してたかもしれません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問