こんにちは。最近プログラミングを始めた超初心者です。
rubyで文字列検索のプログラムを組んでいるのですが、どうしてもエラーが出てしまい困っています。
初歩的な質問になってしまうと思うのですが、お力を貸していただけると嬉しいです。
###実現したいこと
ファイルパスをユーザーが指定
任意の文字をユーザーが指定
指定されたファイルの中から一致する文字が何行目にあるか返す
###発生している問題・エラーメッセージ
ファイルのパスがうまくとってこれず?下記エラーが発生します。
Aptana Studio 3 Workspace/matching/all match.rb:16:in `initialize': Invalid argument @ rb_sysopen - yomikomi.txt (Errno::EINVAL)
###ソースコード
encoding: UTF-8
#!/usr/local/bin/ruby -Ke
puts("ファイルパスを入力してください")
hoge = gets
puts("検索する文字を入力してください")
moji=gets.to_s
#ファイルを開く
File.open("#{hoge}")do |file|
while line = file.gets
i = "#{line}".to_s
if(i==moji)
puts file.lineno
end
end
end
"#{hoge}" の部分を直接ファイル名にすると正常に実行できます。
その他書き方等ここが違うというものがありましたらご指摘お願いいたします。
###補足情報(言語/FW/ツール等のバージョンなど)
ruby 2.2.2
Windows7(32ビット)
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/09/25 15:28